]> git.stg.codes - stg.git/blobdiff - projects/stargazer/services_impl.h
Produce debug output only if SMUX_DEBUG is defined
[stg.git] / projects / stargazer / services_impl.h
index 4c7044fafcd71505d38aca36be5be45f5fef06ef..148676d74e1fdf17f7ed726bfbf64188d636f6fa 100644 (file)
 #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;
@@ -55,7 +58,7 @@ private:
     typedef list<SERVICE_CONF>::iterator       srv_iter;
     typedef list<SERVICE_CONF>::const_iterator const_srv_iter;
 
-    bool ReadServices();
+    bool Read();
 
     std::list<SERVICE_CONF> data;
     STORE *                 store;
@@ -65,3 +68,5 @@ private:
     mutable pthread_mutex_t mutex;
     std::string             strError;
 };
+
+#endif