trick/include/trick/InstrumentBase.hh
Alex Lin 19025d77ad Standardize directory names
Reorganized.  Created a new top level include directory that will hold all of Trick's header files. Moved all of the Trick headers to this directory.  Created a libexec directory that holds all of the executables that users don't need to execute directly.  Changed all of the executables remaining in bin to start with "trick-".  In the sim_services directories changed all source files to find the Trick headers in their new location.  Since all of the include files are gone in sim_services, removed the src directories as well, moving all of the source files up a level.  Moved the makefiles, docs, man, and other architecture independent files into a top level share directory.  Renamed lib_${TRICK_HOST_CPU} to lib64 or lib depending on the platform we're currently on.

refs #63
2015-06-09 08:44:42 -05:00

58 lines
1.1 KiB
C++

/*
PURPOSE:
( The job class that the executive schedules and runs )
PROGRAMMERS:
((Alex Lin) (NASA) (May 2009) (OO))
*/
#ifndef INSTRUMENTBASE_HH
#define INSTRUMENTBASE_HH
#include <string>
#include "trick/JobData.hh"
namespace Trick {
/**
* This class is the base Instrument class. It provides an abstract
* call routine that is used by jobs to call each Instrument's particular routine.
*
* @author Dan A. Strauss
* @author Alexander S. Lin
*
* @date Jan. 2010
*
*/
class JobData ;
class InstrumentBase {
public:
InstrumentBase(Trick::JobData * in_target_job = NULL) :
phase(60000) ,
target_job(in_target_job) {} ;
virtual ~InstrumentBase() {} ;
/* Get the target job. */
Trick::JobData * get_target_job() { return target_job ; } ;
/** Job source code name */
std::string name ; /**< trick_units(--) */
unsigned short phase ;
virtual int call() = 0 ;
protected:
Trick::JobData * target_job ;
} ;
} ;
#endif