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
00038
00042 class TestRequestImpl :
00043 public IPCObject<POA_Sct_CalibrationController::TestRequest>,
00044 public TestRequest {
00045 protected:
00046
00047 public:
00048 TestRequestImpl();
00049 virtual void startTest (
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 (CORBA::ULong index);
00056 virtual CORBA::Boolean canFeedback ();
00057 virtual void endTest ();
00058 };
00059
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085 }
00086 }
00087 #endif //TESTREQUEST_H