Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

CalibrationController.h

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 ScanRequest;
00017 class ScanLibrary;   
00018 class TestLibrary;
00019 class SequenceLibrary;
00020 class TestSequence;
00021 class TestRequest;
00022 class SequenceRequest;  
00023 
00028 class CalibrationController : public IPCObject, public virtual Sct_CalibrationController_T_CalibrationController {
00029 public:
00030     Sct_CalibrationController_T_ScanLibrary * getScanLibrary (Sct_CalibrationControllerStatus *_status);
00031     Sct_CalibrationController_T_TestLibrary * getTestLibrary (Sct_CalibrationControllerStatus *_status);
00032     Sct_CalibrationController_T_SequenceLibrary * getSequenceLibrary (Sct_CalibrationControllerStatus *_status);
00033     void doScan (Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_ScanRequest* s);
00034     void doTest (Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_TestRequest *t);
00035     void doSequence (Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_SequenceRequest * r);
00036     void abort (Sct_CalibrationControllerStatus *_status);
00037     Sct_SctApi_T_Scan * getScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal runNumber, ilu_Cardinal scanNumber);
00038     void setUpdateOption(Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_CalibrationController_UpdateOption);
00039 
00040 virtual void updateWith (Sct_CalibrationControllerStatus *_status, ilu_T_CString testResultInIs);
00041     
00042     static IPCServer& getServer();
00043     
00044     //New pure functions - the nice interface!
00045     
00046     virtual ScanLibrary& getScanLibrary() const = 0;
00047     virtual TestLibrary& getTestLibrary() const = 0;
00048     virtual SequenceLibrary& getSequenceLibrary() const = 0;
00049     virtual void doScan (shared_ptr<ScanRequest> s) = 0;
00050     virtual void doTest (shared_ptr<TestRequest> t) = 0;
00051     virtual void doSequence(shared_ptr<SequenceRequest> r) = 0;
00052     virtual void abort() = 0;
00053     virtual Sct_SctApi_T_Scan* getScan(unsigned long runNumber, unsigned long scanNumber) const = 0;
00054     virtual void setUpdateOption(Sct_CalibrationController_T_CalibrationController_UpdateOption opt) =0;
00055     virtual void updateWith (ilu_T_CString testResultInIs)=0;
00056 protected:
00057     CalibrationController();
00058     virtual ~CalibrationController();
00059 };
00060 }
00061 }
00062 #endif //#ifndef CALIBRATIONCONTROLLER_H

Generated on Thu Jul 15 09:50:43 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5