00001 #ifndef IPC_CALIBRATIONCONTROLLER_H
00002 #define IPC_CALIBRATIONCONTROLLER_H
00003
00004 #include "Sct_CalibrationController.hh"
00005 #include <ipc/object.h>
00006 #include <memory>
00007 #include <vector>
00008 #include <boost/shared_ptr.hpp>
00009
00010 using namespace std;
00011 using boost::shared_ptr;
00012
00013 namespace SctCalibrationController {
00014 namespace Ipc {
00015
00016 class ScanLibrary;
00017 class TestLibrary;
00018 class SequenceLibrary;
00019 class TestSequence;
00020 class TestRequest;
00021 class SequenceRequest;
00022
00023 class CalibrationController : public IPCObject, public virtual Sct_CalibrationController_T_CalibrationController {
00024 public:
00025 Sct_CalibrationController_T_ScanLibrary * getScanLibrary (Sct_CalibrationControllerStatus *_status);
00026 Sct_CalibrationController_T_TestLibrary * getTestLibrary (Sct_CalibrationControllerStatus *_status);
00027 Sct_CalibrationController_T_SequenceLibrary * getSequenceLibrary (Sct_CalibrationControllerStatus *_status);
00028 void doScan (Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_Scan * s);
00029 void doTest (Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_TestRequest *t);
00030 void doSequence (Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_SequenceRequest * r);
00031 void abort (Sct_CalibrationControllerStatus *_status);
00032 Sct_SctApi_T_Scan * getScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal runNumber, ilu_Cardinal scanNumber);
00033 void setUpdateOption(Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_CalibrationController_UpdateOption);
00034
00035 static IPCServer& getServer();
00036
00037
00038
00039 virtual ScanLibrary& getScanLibrary() const = 0;
00040 virtual TestLibrary& getTestLibrary() const = 0;
00041 virtual SequenceLibrary& getSequenceLibrary() const = 0;
00042 virtual void doScan (Sct_SctApi_T_Scan* s) = 0;
00043 virtual void doTest (shared_ptr<TestRequest> t) = 0;
00044 virtual void doSequence(shared_ptr<SequenceRequest> r) = 0;
00045 virtual void abort() = 0;
00046 virtual Sct_SctApi_T_Scan* getScan(unsigned long runNumber, unsigned long scanNumber) const = 0;
00047 virtual void setUpdateOption(Sct_CalibrationController_T_CalibrationController_UpdateOption opt) =0;
00048
00049 protected:
00050 CalibrationController();
00051 virtual ~CalibrationController();
00052 };
00053 }
00054 }
00055 #endif //#ifndef CALIBRATIONCONTROLLER_H