00001
00002 #ifndef SCT_APISERVERSTATUSMANAGER_H
00003 #define SCT_APISERVERSTATUSMANAGER_H
00004
00005
00006
00007 namespace Sct {
00008 class ApiServerStatusManager;
00009 };
00010
00011
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);
00021
00022
00023 std::string nameOfScanningStatusISObject() const;
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 void publishScanningState();
00035 void withdrawScanningState();
00036
00037 bool hasFinishedScanning();
00038
00039 private:
00040 void refreshCache();
00041
00042 private:
00043 boost::shared_ptr<ISInfoDictionary> m_isDict;
00044 const std::string m_infoServiceName;
00045
00046
00047
00048
00049
00050 bool m_hasFinishedScanning;
00051
00052 };
00053
00054 };
00055
00056 #endif