00001 #ifndef IPC_CALIBRATIONCONTROLLER_H 00002 #define IPC_CALIBRATIONCONTROLLER_H 00003 00004 #include "CalibrationController.hh" 00005 #include <ipc/object.h> 00006 #include <memory> 00007 #include <vector> 00008 #include <boost/shared_ptr.hpp> 00009 00010 using boost::shared_ptr; 00011 00012 namespace SctCalibrationController { 00013 namespace Ipc { 00014 00015 class ScanRequest; 00016 class ScanLibrary; 00017 class TestLibrary; 00018 class SequenceLibrary; 00019 class TestSequence; 00020 class TestRequest; 00021 class SequenceRequest; 00022 00027 class CalibrationController : public IPCNamedObject<POA_Sct_CalibrationController::CalibrationController, ipc::multi_thread> { 00028 public: 00029 /* 00030 // Corba interface part .............. 00031 00032 Sct_CalibrationController::ScanLibrary_ptr getScanLibrary_corba (); 00033 Sct_CalibrationController::TestLibrary_ptr getTestLibrary_corba (); 00034 Sct_CalibrationController::SequenceLibrary_ptr getSequenceLibrary_corba (); 00035 void doScan_corba (Sct_CalibrationController::ScanRequest_ptr s); 00036 void doTest_corba (Sct_CalibrationController::TestRequest_ptr t); 00037 void doSequence_corba (Sct_CalibrationController::SequenceRequest_ptr r); 00038 void abort_corba (); 00039 void setUpdateOption_corba(Sct_CalibrationController::CalibrationController::UpdateOption opt); 00040 Sct_SctApi::Scan_ptr getScan_corba(CORBA::ULong runNumber, CORBA::ULong scanNumber); 00041 virtual void updateWith_corba(const char* testResultInIs, bool force); 00042 00043 // Pretty interface part ................... 00044 00045 virtual ScanLibrary& getScanLibrary_nonCorba() const = 0; 00046 virtual TestLibrary& getTestLibrary_nonCorba() const = 0; 00047 virtual SequenceLibrary& getSequenceLibrary_nonCorba() const = 0; 00048 virtual void doScan_nonCorba (shared_ptr<ScanRequest> s) = 0; 00049 virtual void doTest_nonCorba (shared_ptr<TestRequest> t) = 0; 00050 virtual void doSequence_nonCorba(shared_ptr<SequenceRequest> r) = 0; 00051 virtual void abort_nonCorba() = 0; 00052 virtual Sct_SctApi::Scan* getScan_nonCorba(unsigned long runNumber, unsigned long scanNumber) const = 0; 00053 virtual void setUpdateOption_nonCorba(Sct_CalibrationController::CalibrationController::UpdateOption opt) =0; 00054 virtual void updateWith_nonCorba (const char * testResultInIs, bool force)=0; 00055 */ 00056 protected: 00057 CalibrationController(); 00058 virtual ~CalibrationController(); 00059 }; 00060 } 00061 } 00062 #endif //#ifndef CALIBRATIONCONTROLLER_H