00001 #ifndef SCTCALIBRATIONCONTROLLER_SCANREQUEST_H 00002 #define SCTCALIBRATIONCONTROLLER_SCANREQUEST_H 00003 00004 #include "Sct_CalibrationController.hh" 00005 #include <ipc/object.h> 00006 #include <memory> 00007 #include <string> 00008 #include <vector> 00009 00010 using std::vector; 00011 using std::auto_ptr; 00012 using std::string; 00013 00014 namespace SctCalibrationController { 00015 namespace Ipc { 00016 00017 class CalibrationController; 00018 00023 class ScanRequest { 00024 public: 00025 virtual ilu_Boolean isRaw()=0; 00026 virtual ilu_Boolean configureModules()=0; 00027 virtual long delay()=0; 00028 virtual void setScan(Sct_SctApi_T_Scan* s)=0; 00029 virtual ilu_Boolean clockByTwo()=0; 00030 virtual void setClockByTwo(ilu_Boolean value)=0; 00031 virtual long width()=0; 00032 virtual void setWidth(long value)=0; 00033 virtual Sct_SctApi_T_Scan* getScan()=0; 00034 }; 00035 00039 class ScanRequestImpl : public IPCCallback, public virtual Sct_CalibrationController_T_ScanRequest, public virtual ScanRequest { 00040 public: 00041 ScanRequestImpl(); 00042 virtual ilu_Boolean isRaw(Sct_CalibrationControllerStatus *_status); 00043 virtual ilu_Boolean configureModules(Sct_CalibrationControllerStatus *_status); 00044 virtual ilu_Boolean clockByTwo(Sct_CalibrationControllerStatus *_status); 00045 virtual long delay(Sct_CalibrationControllerStatus *_status); 00046 virtual Sct_SctApi_T_Scan* getScan (Sct_CalibrationControllerStatus *_status); 00047 virtual void setScan (Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_Scan* scan); 00048 virtual void setClockByTwo (Sct_CalibrationControllerStatus *_status, ilu_Boolean value); 00049 virtual long width(Sct_CalibrationControllerStatus *_status); 00050 virtual void setWidth(Sct_CalibrationControllerStatus *_status, long width); 00051 00052 virtual ilu_Boolean isRaw(); 00053 virtual ilu_Boolean configureModules(); 00054 virtual ilu_Boolean clockByTwo(); 00055 virtual void setClockByTwo(ilu_Boolean value); 00056 virtual long width(); 00057 virtual void setWidth(long width); 00058 virtual long delay(); 00059 virtual void setScan(Sct_SctApi_T_Scan* s); 00060 virtual Sct_SctApi_T_Scan* getScan (); 00061 protected: 00062 bool m_clockByTwo; 00063 long m_width; 00064 Sct_SctApi_T_Scan* m_scan; 00065 }; 00066 00071 class ScanRequestAdapter : public virtual ScanRequest { 00072 public: 00073 ScanRequestAdapter(Sct_CalibrationController_T_ScanRequest* req); 00074 virtual ilu_Boolean isRaw(); 00075 virtual ilu_Boolean configureModules(); 00076 virtual ilu_Boolean clockByTwo(); 00077 virtual long delay(); 00078 virtual void setScan(Sct_SctApi_T_Scan* s); 00079 virtual Sct_SctApi_T_Scan* getScan(); 00080 virtual void setClockByTwo(ilu_Boolean value); 00081 virtual long width(); 00082 virtual void setWidth(long width); 00083 private: 00084 Sct_CalibrationController_T_ScanRequest* request; 00085 }; 00086 00087 } 00088 } 00089 #endif //SCTCALIBRATIONCONTROLLER_SCANREQUEST_H