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 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 IPCNamedObject<POA_Sct_CalibrationController::CalibrationController, ipc::multi_thread> { 00029 public: 00030 /* 00031 // Corba interface part .............. 00032 00033 Sct_CalibrationController::ScanLibrary_ptr getScanLibrary_corba (); 00034 Sct_CalibrationController::TestLibrary_ptr getTestLibrary_corba (); 00035 Sct_CalibrationController::SequenceLibrary_ptr getSequenceLibrary_corba (); 00036 void doScan_corba (Sct_CalibrationController::ScanRequest_ptr s); 00037 void doTest_corba (Sct_CalibrationController::TestRequest_ptr t); 00038 void doSequence_corba (Sct_CalibrationController::SequenceRequest_ptr r); 00039 void abort_corba (); 00040 void setUpdateOption_corba(Sct_CalibrationController::CalibrationController::UpdateOption opt); 00041 Sct_SctApi::Scan_ptr getScan_corba(CORBA::ULong runNumber, CORBA::ULong scanNumber); 00042 virtual void updateWith_corba(const char* testResultInIs, bool force); 00043 00044 // Pretty interface part ................... 00045 00046 virtual ScanLibrary& getScanLibrary_nonCorba() const = 0; 00047 virtual TestLibrary& getTestLibrary_nonCorba() const = 0; 00048 virtual SequenceLibrary& getSequenceLibrary_nonCorba() const = 0; 00049 virtual void doScan_nonCorba (shared_ptr<ScanRequest> s) = 0; 00050 virtual void doTest_nonCorba (shared_ptr<TestRequest> t) = 0; 00051 virtual void doSequence_nonCorba(shared_ptr<SequenceRequest> r) = 0; 00052 virtual void abort_nonCorba() = 0; 00053 virtual Sct_SctApi::Scan* getScan_nonCorba(unsigned long runNumber, unsigned long scanNumber) const = 0; 00054 virtual void setUpdateOption_nonCorba(Sct_CalibrationController::CalibrationController::UpdateOption opt) =0; 00055 virtual void updateWith_nonCorba (const char * testResultInIs, bool force)=0; 00056 */ 00057 protected: 00058 CalibrationController(); 00059 virtual ~CalibrationController(); 00060 }; 00061 } 00062 } 00063 #endif //#ifndef CALIBRATIONCONTROLLER_H