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 "Sct_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 startTest(Sct_SctApi_T_SctApi& api, string& name, unsigned short& testVariable, unsigned long& nScans, vector<double>& testPoints) = 0;
00028     virtual ScanRequest* getNextScan(unsigned long index) = 0;
00029     virtual bool canFeedback() = 0;
00030     virtual void endTest() = 0;    
00031 };
00032 
00036 class TestRequestImpl : public IPCCallback, public virtual Sct_CalibrationController_T_TestRequest, public virtual TestRequest {
00037 public:    
00038     TestRequestImpl();
00039     virtual void startTest (Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_SctApi * api, ilu_T_CString * name, ilu_ShortCardinal * testVariable, ilu_Cardinal * nScans, Sct_CalibrationController_T_TestPoints testPointsData);
00040     virtual Sct_CalibrationController_T_ScanRequest* getNextScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal index);    
00041     virtual ilu_Boolean canFeedback (Sct_CalibrationControllerStatus *_status);
00042     virtual void endTest (Sct_CalibrationControllerStatus *_status);
00043 };
00044 
00049 class TestRequestAdapter : public virtual TestRequest {
00050 public:
00051     TestRequestAdapter(Sct_CalibrationController_T_TestRequest* req);
00055     virtual void startTest(Sct_SctApi_T_SctApi& api, string& name, unsigned short& testVariable, unsigned long& nScans, vector<double>& testPoints) ;
00056     virtual ScanRequest* getNextScan(unsigned long index);
00057     virtual bool canFeedback();
00058     virtual void endTest();
00059     
00060 private:
00061     Sct_CalibrationController_T_TestRequest* request;
00062 };
00063 
00064 }
00065 }
00066 #endif //TESTREQUEST_H

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