SequenceRequest.h

00001 #ifndef SEQUENCEREQUEST_H
00002 #define SEQUENCEREQUEST_H
00003 
00004 #include "CalibrationController.hh"
00005 #include <ipc/object.h>
00006 #include <memory>
00007 #include <string>
00008 #include "boost/shared_ptr.hpp"
00009 
00010 using std::string;
00011 using std::auto_ptr;
00012 
00013 namespace SctCalibrationController {
00014 namespace Ipc {
00015     
00016 class CalibrationController;
00017 class TestRequest;
00018 
00024 /*
00025 class SequenceRequest {
00026 public:
00027     virtual ~SequenceRequest() {}
00028     virtual string startSequence(Sct_SctApi::SctApiIPC_ptr api) = 0;
00029     virtual TestRequest* getNextTest(unsigned long index) = 0;
00030     virtual void endSequence() = 0;    
00031 };
00032 */
00033 
00037 class SequenceRequestImpl : 
00038   public IPCObject<POA_Sct_CalibrationController::SequenceRequest> {
00039 protected:
00040   //boost::shared_ptr<SequenceRequest> m_sequenceRequest;
00041 public:     
00042     SequenceRequestImpl();
00043     virtual char * startSequence (/*CalibrationControllerStatus *_status, */Sct_SctApi::SctApiIPC_ptr api);
00044     virtual Sct_CalibrationController::TestRequest_ptr getNextTest (/*Sct_CalibrationControllerStatus *_status, */CORBA::ULong index);
00045     virtual void endSequence (/*CalibrationControllerStatus *_status*/);
00046 };
00047 
00048 /*
00050   This is the adapter for external implementations.
00051   These calls may fail and throw RequestExceptions
00052   
00053 
00054 class SequenceRequestAdapter : public virtual SequenceRequest {
00055 public:
00056     SequenceRequestAdapter(Sct_CalibrationController::SequenceRequest_ptr req);    
00057     
00058     virtual string startSequence(Sct_SctApi::SctApiIPC_ptr api);
00059     virtual TestRequest* getNextTest(unsigned long index);
00060     virtual void endSequence();
00061     
00062 private:
00063     Sct_CalibrationController::SequenceRequest_var request;
00064 };
00065 */
00066 }
00067 }
00068 #endif //SEQUENCEREQUEST_H

Generated on Mon Feb 6 14:01:29 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6