]> git.stg.codes - stg.git/blobdiff - projects/stargazer/services_impl.h
Merge remote-tracking branch 'origin/master' into ticket
[stg.git] / projects / stargazer / services_impl.h
index d0c1c52ca690c09245782f76d2df3021e3fed38f..56202c7a116ac65297f1cd387ab0a7d9e04fb2a5 100644 (file)
@@ -44,24 +44,30 @@ public:
     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 Find(const std::string & name, SERVICE_CONF * service);
+    bool Find(const std::string & name, SERVICE_CONF * service) const;
+    bool Find(const std::string & name, SERVICE_CONF_RES * service) const;
     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:
-    typedef list<SERVICE_CONF>::iterator       srv_iter;
-    typedef list<SERVICE_CONF>::const_iterator const_srv_iter;
+    SERVICES_IMPL(const SERVICES_IMPL & rvalue);
+    SERVICES_IMPL & operator=(const SERVICES_IMPL & rvalue);
+
+    typedef std::list<SERVICE_CONF>::iterator       iterator;
+    typedef std::list<SERVICE_CONF>::const_iterator const_iterator;
 
     bool Read();
 
     std::list<SERVICE_CONF> data;
     STORE *                 store;
     STG_LOGGER &            WriteServLog;
-    mutable std::map<int, const_srv_iter> searchDescriptors;
+    mutable std::map<int, const_iterator> searchDescriptors;
     mutable unsigned int    handle;
     mutable pthread_mutex_t mutex;
     std::string             strError;