]> git.stg.codes - stg.git/blobdiff - include/stg/services.h
Set LC_NUMERIC to C, changes service serialization format.
[stg.git] / include / stg / services.h
index 2f1eec717f74c9ab53ed2750566f52a5fb33b576..1fe4dca1910ba71a22118f7db3363ea8d375919c 100644 (file)
 #ifndef SERVICES_H
 #define SERVICES_H
 
+#include "service_conf.h"
+
 #include <string>
 
-#include "service_conf.h"
+class ADMIN;
 
 class SERVICES {
 public:
-    virtual int Add(const SERVICE_CONF & service) = 0;
-    virtual int Del(const std::string & name) = 0;
-    virtual int Change(const SERVICE_CONF & service) = 0;
-    virtual bool FindService(const std::string & name, SERVICE_CONF & service) = 0;
-    virtual bool ServiceExists(const std::string & name) const = 0;
+    virtual ~SERVICES() {}
+    virtual int Add(const SERVICE_CONF & service, const ADMIN * admin) = 0;
+    virtual int Del(const std::string & name, const ADMIN * admin) = 0;
+    virtual int Change(const SERVICE_CONF & service, const ADMIN * admin) = 0;
+    virtual bool Find(const std::string & name, SERVICE_CONF * service) const = 0;
+    virtual bool Exists(const std::string & name) const = 0;
     virtual const std::string & GetStrError() const = 0;
+    virtual size_t Count() const = 0;
 
     virtual int OpenSearch() const = 0;
     virtual int SearchNext(int, SERVICE_CONF * service) const = 0;