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 "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     // Corba interface implementation ......
00070 
00071     virtual CORBA::Boolean isRawCorba(/*CalibrationControllerStatus *_status*/);
00072     virtual CORBA::Boolean configureModulesCorba(/*CalibrationControllerStatus *_status*/);
00073     virtual CORBA::Boolean clockByTwoCorba(/*CalibrationControllerStatus *_status*/);
00074     virtual CORBA::Long delayCorba(/*CalibrationControllerStatus *_status*/);
00075     virtual Sct_SctApi::Scan_ptr getScanCorba (/*CalibrationControllerStatus *_status*/);
00076     virtual void setScanCorba (/*CalibrationControllerStatus *_status, */Sct_SctApi::Scan_ptr scan);
00077     virtual void setClockByTwoCorba (/*CalibrationControllerStatus *_status, */CORBA::Boolean value);
00078     virtual CORBA::Long widthCorba(/*CalibrationControllerStatus *_status*/);
00079     virtual void setWidthCorba(/*CalibrationControllerStatus *_status, */CORBA::Long width);
00080 
00081     // "Pretty" implementation .........
00082 
00083   private:
00084     //const boost::shared_ptr<MinimalScanRequest> m_niceScanRequest;
00085 
00086     /*
00087     virtual CORBA::Boolean isRaw();
00088     virtual CORBA::Boolean configureModules();
00089     virtual CORBA::Boolean clockByTwo();
00090     virtual void setClockByTwo(CORBA::Boolean value);
00091     virtual long width();
00092     virtual void setWidth(long width);
00093     virtual long delay();
00094     virtual void setScan(Sct_SctApi_T_Scan* s);
00095     virtual Sct_SctApi_T_Scan* getScan ();
00096     */
00097  protected:
00098     /*
00099     bool m_clockByTwo;
00100     long m_width;
00101     Sct_SctApi_T_Scan* m_scan;  
00102     */
00103 };
00104 
00110 /*
00111 class ScanRequestAdapter : public virtual ScanRequest {
00112  public:
00113   virtual ~ScanRequestAdapter() {};
00114 public:
00115     ScanRequestAdapter(Sct_CalibrationController::ScanRequest_ptr req);
00116     virtual bool isRaw();
00117     virtual bool configureModules();
00118     virtual bool clockByTwo();
00119     virtual long delay();
00120     virtual void setScan(Sct_SctApi::Scan_ptr s);
00121     virtual Sct_SctApi::Scan_ptr getScan();
00122     virtual void setClockByTwo(CORBA::Boolean value);
00123     virtual long width();
00124     virtual void setWidth(long width);
00125 private:
00126     Sct_CalibrationController::ScanRequest_var request;
00127 };
00128 */
00129 
00130 }
00131 }
00132 #endif //SCTCALIBRATIONCONTROLLER_SCANREQUEST_H

Generated on Thu Feb 3 17:37:41 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5