ApiServerStatusManager.h

00001 
00002 #ifndef SCT_APISERVERSTATUSMANAGER_H
00003 #define SCT_APISERVERSTATUSMANAGER_H
00004 
00005 
00006 //fwd dec:
00007 namespace Sct {
00008   class ApiServerStatusManager;
00009 };
00010 
00011 // fwdDec others;
00012 class ISInfoDictionary;
00013 #include "boost/shared_ptr.hpp"
00014 #include <string>
00015 
00016 namespace Sct {
00017 
00018   class ApiServerStatusManager {
00019   public:
00020     ApiServerStatusManager(const std::string & infoServiceName);// something to distunguish us from all the other SctApiIPC{Crate,Top}Servers that might be running.  Should take the form SERVER.NAME
00021 
00022     // REMOVE! std::string nameOfGeneralStatusISObject() const;
00023     std::string nameOfScanningStatusISObject() const;
00024 
00025     /* REMOVE!
00026     typedef enum GeneralStatus {present=1, initialised=2} GeneralStatusEnum;
00027 
00028     
00029     void publishGeneralStatusForFirstTime();
00030     void setGeneralStatusTo(const GeneralStatusEnum i);
00031     void withdrawGeneralStatus();
00032     */
00033 
00034     void publishScanningState();
00035     void withdrawScanningState();
00036 
00037     bool hasFinishedScanning();
00038 
00039   private:
00040     void refreshCache(); // used to update the status of m_hasFinishedScanning from IS
00041 
00042   private:
00043     boost::shared_ptr<ISInfoDictionary> m_isDict;
00044     const std::string m_infoServiceName;
00045     /*
00046     const std::string m_uniqueIdentifier;
00047     std::string m_gsName;
00048     std::string m_ssName;
00049     */
00050     bool m_hasFinishedScanning;
00051     
00052   };
00053 
00054 };
00055 
00056 #endif

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