DefaultSequence.h

00001 #ifndef DEFAULTSEQUENCE_H
00002 #define DEFAULTSEQUENCE_H
00003 
00004 #include <boost/shared_ptr.hpp>
00005 
00006 #include "../ipc/SequenceRequest.h"
00007 #include "../ipc/CalibrationController.h"
00008 #include "../ipc/TestRequest.h"
00009 #include "../ipc/CalibrationController.hh"
00010 #include "Sct/OmniMarshalling.h"
00011 #include <iostream>
00012 #include "Sct/BugReport.h"
00013 
00014 using namespace boost;
00015 
00016 namespace SctCalibrationController {
00017     
00018 using namespace Ipc;
00019 
00020 namespace Scripts {
00021     
00022 class DefaultSequence : public SequenceRequestImpl {
00023 public: 
00024     static Sct_CalibrationController::SequenceRequest_ptr instance(Sct_CalibrationController::TestRequest_ptr r){
00025         static DefaultSequence s;
00026     s.request=Sct_CalibrationController::TestRequest::_duplicate(r);
00027     return s._this();
00028     }
00029         
00030     virtual char * startSequence(Sct_SctApi::SctApiIPC_ptr api) {
00031       Sct::BugReport("BUG01", "DefaultSequence.h","IS IT THIS ONE? startSequence");
00032       return ::Sct::copyStringToCorba("DefaultSequence");
00033     }
00034     
00035     virtual Sct_CalibrationController::TestRequest_ptr getNextTest(unsigned long index) {
00036 
00037       if (index == 0) {
00038         return Sct_CalibrationController::TestRequest::_duplicate(request);
00039       };
00040       return Sct_CalibrationController::TestRequest::_nil();   
00041     }
00042 
00043     virtual void endSequence() {}
00044 
00045 private:
00046     Sct_CalibrationController::TestRequest_var request;
00047     DefaultSequence() {} // do not use
00048 };
00049 
00050 }
00051 }
00052 #endif //DEFAULTSEQUENCE_H

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