00001 #ifndef SCTCALIBRATIONCONTROLLER_SCANREQUEST_H 00002 #define SCTCALIBRATIONCONTROLLER_SCANREQUEST_H 00003 00004 #include "CalibrationController.hh" 00005 #include <ipc/object.h> 00006 #include <memory> 00007 #include <string> 00008 #include <vector> 00009 #include "boost/shared_ptr.hpp" 00010 00011 using std::vector; 00012 using std::auto_ptr; 00013 using std::string; 00014 00015 namespace SctCalibrationController { 00016 namespace Ipc { 00017 00018 class CalibrationController; 00019 00025 class ScanRequest { 00026 public: 00027 virtual CORBA::Boolean isRawNice()=0; 00028 virtual CORBA::Boolean configureModulesNice()=0; 00029 virtual long delayNice()=0; 00030 virtual void setScanNice(Sct_SctApi::Scan_ptr s)=0; 00031 virtual CORBA::Boolean clockByTwoNice()=0; 00032 virtual void setClockByTwoNice(CORBA::Boolean value)=0; 00033 virtual void setConfigureModulesNice(CORBA::Boolean value)=0; 00034 virtual long widthNice()=0; 00035 virtual void setWidthNice(long value)=0; 00036 virtual Sct_SctApi::Scan_ptr getScanNice()=0; 00037 }; 00038 00039 00040 class MinimalScanRequest : public virtual ScanRequest { 00041 protected: 00042 MinimalScanRequest(); 00043 virtual ~MinimalScanRequest() {}; 00044 public: 00045 virtual CORBA::Boolean isRawNice(); 00046 virtual CORBA::Boolean configureModulesNice(); 00047 virtual CORBA::Boolean clockByTwoNice(); 00048 virtual void setClockByTwoNice(CORBA::Boolean value); 00049 virtual void setConfigureModulesNice(CORBA::Boolean value); 00050 virtual CORBA::Long widthNice(); 00051 virtual void setWidthNice(CORBA::Long width); 00052 virtual CORBA::Long delayNice(); 00053 virtual void setScanNice(Sct_SctApi::Scan_ptr s); 00054 virtual Sct_SctApi::Scan_ptr getScanNice(); 00055 protected: 00056 CORBA::Boolean m_clockByTwo; 00057 CORBA::Long m_width; 00058 Sct_SctApi::Scan_var m_scan; 00059 CORBA::Boolean m_configureModules; 00060 }; 00061 00062 00066 class ScanRequestImpl : 00067 public IPCObject<POA_Sct_CalibrationController::ScanRequest>, 00068 protected MinimalScanRequest { 00069 public: 00070 ScanRequestImpl(); 00071 00072 virtual CORBA::Boolean isRawCorba(); 00073 virtual CORBA::Boolean configureModulesCorba(); 00074 virtual void setConfigureModulesCorba(CORBA::Boolean value); 00075 virtual CORBA::Boolean clockByTwoCorba(); 00076 virtual CORBA::Long delayCorba(); 00077 virtual Sct_SctApi::Scan_ptr getScanCorba (); 00078 virtual void setScanCorba (Sct_SctApi::Scan_ptr scan); 00079 virtual void setClockByTwoCorba (CORBA::Boolean value); 00080 virtual CORBA::Long widthCorba(); 00081 virtual void setWidthCorba(CORBA::Long width); 00082 }; 00083 00084 } 00085 } 00086 #endif //SCTCALIBRATIONCONTROLLER_SCANREQUEST_H