00001 #ifndef SCTTEST_CONFIGURATION_H 00002 #define SCTTEST_CONFIGURATION_H 00003 00004 #include <string> 00005 #include <ipc/object.h> 00006 #include "SctTestApi.hh" 00007 00008 using std::string; 00009 00010 namespace SctTest { 00011 00012 class Configuration : public IPCNamedObject<POA_SctTestApi::Configuration> { 00013 public: 00014 static Configuration& instance(); 00015 00021 // Presumably these are "handy" non-CORBA interface methods: 00022 // Unfortunatley, many of them ambiguate the CORBA interface methods under the new orb, so those of them that clash will have to be renamed or removed ... 00023 00024 void handy_setDataFile(string file); 00025 string handy_getDataFile() const; 00026 00027 void handy_setFastTimes(); 00028 void handy_setRealisticTimes(); 00029 void handy_setScanTime(unsigned int time); 00030 unsigned int handy_getScanTime() const; 00031 void handy_setMultiDspEfficiency(double efficiency); 00032 double handy_getMultiDspEfficiency() const; 00033 void handy_setReadoutTime(unsigned int time); 00034 unsigned int handy_getReadoutTime() const; 00035 00036 //CORBA interfafce methods: 00037 virtual void setDataFile (const char * file); 00038 virtual char * getDataFile (); 00039 virtual void setFastTimes (); 00040 virtual void setRealisticTimes (); 00041 virtual void setScanTime (CORBA::Long time); 00042 virtual CORBA::Long getScanTime (); 00043 virtual void setMultiDspEfficiency (CORBA::Double efficiency); 00044 virtual CORBA::Double getMultiDspEfficiency (); 00045 virtual void setReadoutTime (CORBA::Long time); 00046 virtual CORBA::Long getReadoutTime (); 00047 virtual void shutdown() {}; 00048 00049 private: 00050 Configuration(); 00051 00052 string dataFile; 00053 unsigned int scanTime; 00054 unsigned int readoutTime; 00055 double dspEfficiency; 00056 }; 00057 } 00058 00059 #endif //SCTTEST_CONFIGURATION_H