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