HighLevelApi.h

00001 #ifndef SCTTEST_HIGHLEVELAPI_H
00002 #define SCTTEST_HIGHLEVELAPI_H
00003 
00004 #include <string>
00005 #include <memory>
00006 #include <ipc/object.h>
00007 #include <boost/shared_ptr.hpp>
00008 #include "ModuleData.h"
00009 #include "SctTestApi.hh"
00010 
00011 using std::string;
00012 
00013 namespace SctData {
00014     class ModuleConfiguration;
00015     class ConfigurationVariable;
00016 }
00017 class TestData;
00018 
00019 // Obsolete? extern IPCServer ipcServer;
00020 
00021 namespace SctTest {
00022 
00023 class HighLevelApi : public IPCNamedObject<POA_SctTestApi::HighLevelApi> {
00024 public:
00025     static HighLevelApi& instance();
00026 
00027     // "Handy" methods:
00028     //
00033     void handy_setModuleSerial(const string & serial);
00034     string handy_getModuleSerial() const;
00035 
00040     void handy_setDataFile(const string & file);
00041     string handy_getDataFile() const;
00042 
00047     void handy_setXmlSummaryFile(const string & file);
00048     string handy_getXmlSummaryFile() const;
00049 
00050     //CORBA methods
00051     virtual void setDataFile (const char * file);
00052     virtual char * getDataFile ();
00053     virtual void setXmlSummaryFile (const char * file);
00054     virtual char * getXmlSummaryFile ();
00055     virtual void setModuleSerial (const char * serial);
00056     virtual char * getModuleSerial ();
00057     virtual void fullBypass();
00058     virtual void timeWalk();
00059     virtual void strobeDelay();
00060     virtual void threePointGain();
00061     virtual void responseCurve();
00062     virtual void noiseOccupancy();
00063     virtual void trim();
00064     virtual void pipeline();
00065     virtual void shutdown() {};
00066 
00067 private:
00068     HighLevelApi();
00069 
00074     void getConfig(string serial);
00075     void addAndGetConfig(string serial);
00076     void publishTest(TestData& t) const;
00077     string getFileName(const TestInfo& info, unsigned int scanNumber) const;
00078     void doTest(const TestInfo& info, TestData& data, const SctData::ConfigurationVariable& var) const;
00079     void publishScan(const TestInfo& info, unsigned int scanNumber, const SctData::ConfigurationVariable& scan_variable, const SctData::ModuleConfiguration& config) const;
00080 
00081     string serial;
00082     string xmlFile;            
00083     ModuleData data;
00084     boost::shared_ptr<SctData::ModuleConfiguration> config;
00085 };
00086 }
00087 
00088 #endif //SCTTEST_HIGHLEVELAPI_H

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