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 long widthNice()=0;
00034 virtual void setWidthNice(long value)=0;
00035 virtual Sct_SctApi::Scan_ptr getScanNice()=0;
00036 };
00037
00038
00039 class MinimalScanRequest : public virtual ScanRequest {
00040 protected:
00041 MinimalScanRequest();
00042 virtual ~MinimalScanRequest() {};
00043 public:
00044 virtual CORBA::Boolean isRawNice();
00045 virtual CORBA::Boolean configureModulesNice();
00046 virtual CORBA::Boolean clockByTwoNice();
00047 virtual void setClockByTwoNice(CORBA::Boolean value);
00048 virtual CORBA::Long widthNice();
00049 virtual void setWidthNice(CORBA::Long width);
00050 virtual CORBA::Long delayNice();
00051 virtual void setScanNice(Sct_SctApi::Scan_ptr s);
00052 virtual Sct_SctApi::Scan_ptr getScanNice();
00053 protected:
00054 CORBA::Boolean m_clockByTwo;
00055 CORBA::Long m_width;
00056 Sct_SctApi::Scan_var m_scan;
00057 };
00058
00059
00063 class ScanRequestImpl :
00064 public IPCObject<POA_Sct_CalibrationController::ScanRequest>,
00065 protected MinimalScanRequest {
00066 public:
00067 ScanRequestImpl();
00068
00069
00070
00071 virtual CORBA::Boolean isRawCorba();
00072 virtual CORBA::Boolean configureModulesCorba();
00073 virtual CORBA::Boolean clockByTwoCorba();
00074 virtual CORBA::Long delayCorba();
00075 virtual Sct_SctApi::Scan_ptr getScanCorba ();
00076 virtual void setScanCorba (Sct_SctApi::Scan_ptr scan);
00077 virtual void setClockByTwoCorba (CORBA::Boolean value);
00078 virtual CORBA::Long widthCorba();
00079 virtual void setWidthCorba(CORBA::Long width);
00080
00081
00082
00083 private:
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097 protected:
00098
00099
00100
00101
00102
00103 };
00104
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130 }
00131 }
00132 #endif //SCTCALIBRATIONCONTROLLER_SCANREQUEST_H