00001 #ifndef TESTLIBRARY_H
00002 #define TESTLIBRARY_H
00003
00004 #include "Sct_CalibrationController.hh"
00005 #include <boost/utility.hpp>
00006 #include <ipc/object.h>
00007
00008 namespace SctCalibrationController {
00009 namespace Ipc {
00010
00011 class TestRequestImpl;
00012
00013 class TestLibrary : public IPCCallback, public virtual Sct_CalibrationController_T_TestLibrary, boost::noncopyable {
00014 public:
00015 Sct_CalibrationController_T_TestRequest * responseCurve (Sct_CalibrationControllerStatus *_status);
00016 Sct_CalibrationController_T_TestRequest * threePointGain (Sct_CalibrationControllerStatus *_status);
00017 Sct_CalibrationController_T_TestRequest * strobeDelay (Sct_CalibrationControllerStatus *_status);
00018 Sct_CalibrationController_T_TestRequest * noiseOccupancy (Sct_CalibrationControllerStatus *_status);
00019 Sct_CalibrationController_T_TestRequest * pipeline (Sct_CalibrationControllerStatus *_status);
00020 Sct_CalibrationController_T_TestRequest * fullBypass (Sct_CalibrationControllerStatus *_status);
00021 Sct_CalibrationController_T_TestRequest * trimRange (Sct_CalibrationControllerStatus *_status);
00022 Sct_CalibrationController_T_TestRequest * timeWalk (Sct_CalibrationControllerStatus *_status);
00023 Sct_CalibrationController_T_TestRequest * nmask (Sct_CalibrationControllerStatus *_status);
00024
00025
00026 virtual TestRequestImpl& responseCurve() const = 0;
00027 virtual TestRequestImpl& threePointGain() const = 0;
00028 virtual TestRequestImpl& strobeDelay() const = 0;
00029 virtual TestRequestImpl& noiseOccupancy() const = 0;
00030 virtual TestRequestImpl& pipeline() const = 0;
00031 virtual TestRequestImpl& fullBypass() const = 0;
00032 virtual TestRequestImpl& trimRange() const = 0;
00033 virtual TestRequestImpl& timeWalk() const = 0;
00034 virtual TestRequestImpl& nmask() const = 0;
00035
00036 protected:
00037 TestLibrary();
00038 };
00039 }
00040 }
00041
00042 #endif //TESTLIBRARY_H