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

TestRequest.h

00001 #ifndef TESTREQUEST_H
00002 #define TESTREQUEST_H
00003 
00004 #include "CalibrationController.hh"
00005 #include "ScanRequest.h"
00006 #include <ipc/object.h>
00007 #include <memory>
00008 #include <string>
00009 #include <vector>
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     
00024 class TestRequest {
00025 public:     
00026     virtual ~TestRequest() {}
00027     virtual void startTestRealImpl(Sct_SctApi::SctApiIPC_ptr api,
00028                string& name,
00029                unsigned short& testVariable,
00030                unsigned long& nScans,
00031                vector<double>& testPoints) = 0;
00032     virtual Sct_CalibrationController::ScanRequest_ptr getNextScanRealImpl(unsigned long index) = 0;
00033     virtual bool canFeedbackRealImpl() = 0;
00034     virtual void endTestRealImpl() = 0;    
00035 };
00036 
00037 //typedef TestRequest MinimalTestRequest;
00038 
00042 class TestRequestImpl : 
00043   public IPCObject<POA_Sct_CalibrationController::TestRequest>,
00044   public TestRequest {
00045 protected:
00046   //const boost::shared_ptr<MinimalTestRequest> m_minimalTestRequest;
00047 public:    
00048   TestRequestImpl();
00049     virtual void startTest (/*CalibrationControllerStatus *_status, */
00050                 Sct_SctApi::SctApiIPC_ptr api,
00051                 CORBA::String_out name,
00052                 CORBA::UShort & testVariable,
00053                 CORBA::ULong & nScans,
00054                 Sct_CalibrationController::TestPoints_out testPointsData);
00055     virtual Sct_CalibrationController::ScanRequest_ptr getNextScan (/*Sct_CalibrationControllerStatus *_status, */CORBA::ULong index);    
00056     virtual CORBA::Boolean canFeedback (/*CalibrationControllerStatus *_status*/);
00057     virtual void endTest (/*CalibrationControllerStatus *_status*/);
00058 };
00059 
00064 /*
00065 class TestRequestAdapter : public virtual TestRequest {
00066 public:
00067     TestRequestAdapter(Sct_CalibrationController::TestRequest_ptr req);
00068     //
00069       //throws IpcException if any of the out variables are not set in the call
00070       //
00071     virtual void startTestRealImpl(Sct_SctApi::SctApiIPC_ptr api,
00072                string& name,
00073                unsigned short& testVariable,
00074                unsigned long& nScans,
00075                vector<double>& testPoints) ;
00076     virtual Sct_CalibrationController::ScanRequest_ptr getNextScanRealImpl(unsigned long index);
00077     virtual bool canFeedbackRealImpl();
00078     virtual void endTestRealImpl();
00079     
00080 private:
00081     Sct_CalibrationController::TestRequest_var request;
00082 };
00083 */
00084 
00085 }
00086 }
00087 #endif //TESTREQUEST_H

Generated on Fri Sep 16 18:02:02 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5