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 virtual void setAnalysisAlgorithm(const char* name) = 0;
00036 virtual char* getAnalysisAlgorithm() = 0;
00037 virtual void setFitAlgorithm(const char* name) = 0;
00038 virtual char* getFitAlgorithm() = 0;
00039 };
00040
00041
00042
00046 class TestRequestImpl :
00047 public IPCObject<POA_Sct_CalibrationController::TestRequest>,
00048 public TestRequest {
00049 protected:
00050
00051 std::string m_fitAlgorithm;
00052 std::string m_analysisAlgorithm;
00053 public:
00054 TestRequestImpl();
00055 virtual void startTest (
00056 Sct_SctApi::SctApiIPC_ptr api,
00057 CORBA::String_out name,
00058 CORBA::UShort & testVariable,
00059 CORBA::ULong & nScans,
00060 Sct_CalibrationController::TestPoints_out testPointsData);
00061 virtual Sct_CalibrationController::ScanRequest_ptr getNextScan (CORBA::ULong index);
00062 virtual CORBA::Boolean canFeedback ();
00063 virtual void endTest ();
00064 virtual void setAnalysisAlgorithm(const char* name);
00065 virtual char* getAnalysisAlgorithm();
00066 virtual void setFitAlgorithm(const char* name);
00067 virtual char* getFitAlgorithm();
00068 };
00069
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 }
00096 }
00097 #endif //TESTREQUEST_H