]> git.stg.codes - stg.git/blobdiff - include/stg/services.h
Virtual destructor added to interface classes
[stg.git] / include / stg / services.h
index 2f1eec717f74c9ab53ed2750566f52a5fb33b576..ddec31beb9af61a602a27bb8b8f05ee2956bc34c 100644 (file)
 
 #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) = 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;