X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1b2ab8e6d556a8ed30d4feadc72263b3f4c86665..bf689f8729a4f53f9425da557e0919eb9a6d795b:/include/stg/services.h?ds=inline

diff --git a/include/stg/services.h b/include/stg/services.h
index 8c49f781..5d3b2bee 100644
--- a/include/stg/services.h
+++ b/include/stg/services.h
@@ -18,29 +18,32 @@
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef SERVICES_H
-#define SERVICES_H
-
-#include "service_conf.h"
+#pragma once
 
 #include <string>
 
-class ADMIN;
-
-class SERVICES {
-public:
-    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;
+namespace STG
+{
+
+struct Admin;
+struct ServiceConf;
+struct ServiceConfOpt;
+
+struct Services {
+    virtual ~Services() = default;
+
+    virtual int Add(const ServiceConf& service, const Admin* admin) = 0;
+    virtual int Del(const std::string& name, const Admin* admin) = 0;
+    virtual int Change(const ServiceConf& service, const Admin* admin) = 0;
+    virtual bool Find(const std::string& name, ServiceConf* service) const = 0;
+    virtual bool Find(const std::string& name, ServiceConfOpt* 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;
+    virtual int SearchNext(int, ServiceConf* service) const = 0;
     virtual int CloseSearch(int) const = 0;
 };
 
-#endif
+}