TestLibraryImpl.h

00001 #ifndef TESTLIBRARYIMPL_H
00002 #define TESTLIBRARYIMPL_H
00003 
00004 #include "ipc/TestLibrary.h"
00005 #include <boost/utility.hpp>
00006 #include <ipc/object.h>
00007 
00008 namespace SctCalibrationController {
00009 using namespace Ipc;
00010     
00011 class TestLibraryImpl : public TestLibrary {
00012  public:
00013     typedef Sct_CalibrationController::TestRequest_ptr(*FunctionPointer)();
00014     static bool registerStaticFactoryMethodForTest(const std::string & name,  const FunctionPointer f);
00015  private:
00016     typedef std::map<std::string, FunctionPointer> StringFunctionPtrMap;
00017     static StringFunctionPtrMap & stringFunctionPtrMap() { static StringFunctionPtrMap ans; return ans; };
00018  public:
00019     // The name that is supplied to this method should be the "bare" name of the test, i.e. leave out
00020     // any trailing "Test".  Example:  "StrobeDelay" not "StrobeDelayTest"
00021     virtual Sct_CalibrationController::TestRequest_ptr getTestRequestByName(const char * name);
00022     virtual Sct_CalibrationController::TestLibrary::Strings* getTestNames();
00023     static Sct_CalibrationController::TestLibrary_ptr instance();
00024 private:
00025     TestLibraryImpl();
00026 };
00027     
00028 }
00029 
00030 #endif //TESTLIBRARYIMPL_H

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