X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/fcafc446aa1f15975b1802e47952ed371446e4d4..abd575e7ae51fd1462c8d4fe0229ed81ce8a564d:/projects/stargazer/services_impl.h diff --git a/projects/stargazer/services_impl.h b/projects/stargazer/services_impl.h index 4c7044fa..2bb9c879 100644 --- a/projects/stargazer/services_impl.h +++ b/projects/stargazer/services_impl.h @@ -32,30 +32,36 @@ #include "stg/locker.h" #include "stg/store.h" #include "stg/noncopyable.h" +#include "stg/logger.h" class ADMIN; class SERVICES_IMPL : private NONCOPYABLE, public SERVICES { public: SERVICES_IMPL(STORE * st); - virtual SERVICES_IMPL() {} + virtual ~SERVICES_IMPL() {} int Add(const SERVICE_CONF & service, const ADMIN * admin); int Del(const std::string & name, const ADMIN * admin); int Change(const SERVICE_CONF & service, const ADMIN * admin); - bool FindService(const std::string & name, SERVICE_CONF & service); - bool ServiceExists(const std::string & name) const; - const std::string & GetStrError() const; + bool Find(const std::string & name, SERVICE_CONF * service); + bool Exists(const std::string & name) const; + const std::string & GetStrError() const { return strError; } + + size_t Count() const { return data.size(); } int OpenSearch() const; int SearchNext(int, SERVICE_CONF * service) const; int CloseSearch(int) const; private: + SERVICES_IMPL(const SERVICES_IMPL & rvalue); + SERVICES_IMPL & operator=(const SERVICES_IMPL & rvalue); + typedef list::iterator srv_iter; typedef list::const_iterator const_srv_iter; - bool ReadServices(); + bool Read(); std::list data; STORE * store; @@ -65,3 +71,5 @@ private: mutable pthread_mutex_t mutex; std::string strError; }; + +#endif