Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

ScanRequest.h

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

Generated on Thu Jul 15 09:50:52 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5