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

SequenceRequest.h

00001 #ifndef SEQUENCEREQUEST_H
00002 #define SEQUENCEREQUEST_H
00003 
00004 #include "Sct_CalibrationController.hh"
00005 #include <ipc/object.h>
00006 #include <memory>
00007 #include <string>
00008 
00009 using std::string;
00010 using std::auto_ptr;
00011 
00012 namespace SctCalibrationController {
00013 namespace Ipc {
00014     
00015 class CalibrationController;
00016 class TestRequest;
00017 
00022 class SequenceRequest {
00023 public:
00024     virtual ~SequenceRequest() {}
00025     virtual string startSequence(Sct_SctApi_T_SctApi& api) = 0;
00026     virtual TestRequest* getNextTest(unsigned long index) = 0;
00027     virtual void endSequence() = 0;    
00028 };
00029 
00033 class SequenceRequestImpl : public IPCCallback, public virtual Sct_CalibrationController_T_SequenceRequest, public virtual SequenceRequest{
00034 public:     
00035     SequenceRequestImpl();
00036     virtual ilu_T_CString startSequence (Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_SctApi * api);
00037     virtual class Sct_CalibrationController_T_TestRequest * getNextTest (Sct_CalibrationControllerStatus *_status, ilu_Cardinal index);
00038     virtual void endSequence (Sct_CalibrationControllerStatus *_status);
00039 };
00040 
00045 class SequenceRequestAdapter : public virtual SequenceRequest {
00046 public:
00047     SequenceRequestAdapter(Sct_CalibrationController_T_SequenceRequest* req);    
00048     
00049     virtual string startSequence(Sct_SctApi_T_SctApi& api);
00050     virtual TestRequest* getNextTest(unsigned long index);
00051     virtual void endSequence();
00052     
00053 private:
00054     Sct_CalibrationController_T_SequenceRequest* request;
00055 };
00056 
00057 }
00058 }
00059 #endif //SEQUENCEREQUEST_H

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