]> git.stg.codes - stg.git/blobdiff - libs/srvconf/include/stg/servconf.h
Use std::jthread and C++17.
[stg.git] / libs / srvconf / include / stg / servconf.h
index efdf4b6b18e272b3f780ab165eca641dde09d4a8..2f246b67274f61cc680c618ac1d6b186d8ce44ac 100644 (file)
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef __STG_STGLIBS_SERVCONF_H__
-#define __STG_STGLIBS_SERVCONF_H__
+#pragma once
 
 #include "stg/servconf_types.h"
 
-#include "stg/admin_conf.h"
-
 #include <string>
 #include <cstdint>
 
-struct USER_CONF_RES;
-struct USER_STAT_RES;
-struct TARIFF_DATA_RES;
-struct SERVICE_CONF_RES;
-struct CORP_CONF_RES;
-
 namespace STG
 {
 
-class SERVCONF
+struct AdminConfOpt;
+struct UserConfOpt;
+struct UserStatOpt;
+struct TariffDataOpt;
+struct ServiceConfOpt;
+struct CorpConfOpt;
+
+class ServConf
 {
-public:
-    SERVCONF(const std::string & server, uint16_t port,
-             const std::string & login, const std::string & password);
-    SERVCONF(const std::string & server, uint16_t port,
-             const std::string & localAddress, uint16_t localPort,
-             const std::string & login, const std::string & password);
-    ~SERVCONF();
-
-    int ServerInfo(SERVER_INFO::CALLBACK f, void * data);
-
-    int RawXML(const std::string & request, RAW_XML::CALLBACK f, void * data);
-
-    int GetAdmins(GET_CONTAINER::CALLBACK<GET_ADMIN::INFO>::TYPE f, void * data);
-    int GetAdmin(const std::string & login, GET_ADMIN::CALLBACK f, void * data);
-    int ChgAdmin(const ADMIN_CONF_RES & conf, SIMPLE::CALLBACK f, void * data);
-    int AddAdmin(const std::string & login,
-                 const ADMIN_CONF_RES & conf,
-                 SIMPLE::CALLBACK f, void * data);
-    int DelAdmin(const std::string & login, SIMPLE::CALLBACK f, void * data);
-
-    int GetTariffs(GET_CONTAINER::CALLBACK<GET_TARIFF::INFO>::TYPE f, void * data);
-    int GetTariff(const std::string & name, GET_TARIFF::CALLBACK f, void * data);
-    int ChgTariff(const TARIFF_DATA_RES & conf, SIMPLE::CALLBACK f, void * data);
-    int AddTariff(const std::string & name,
-                  const TARIFF_DATA_RES & conf,
-                  SIMPLE::CALLBACK f, void * data);
-    int DelTariff(const std::string & name, SIMPLE::CALLBACK f, void * data);
-
-    int GetUsers(GET_CONTAINER::CALLBACK<GET_USER::INFO>::TYPE f, void * data);
-    int GetUser(const std::string & login, GET_USER::CALLBACK f, void * data);
-    int ChgUser(const std::string & login,
-                const USER_CONF_RES & conf,
-                const USER_STAT_RES & stat,
-                SIMPLE::CALLBACK f, void * data);
-    int DelUser(const std::string & login, SIMPLE::CALLBACK f, void * data);
-    int AddUser(const std::string & login,
-                const USER_CONF_RES & conf,
-                const USER_STAT_RES & stat,
-                SIMPLE::CALLBACK f, void * data);
-    int AuthBy(const std::string & login, AUTH_BY::CALLBACK f, void * data);
-    int SendMessage(const std::string & login, const std::string & text, SIMPLE::CALLBACK f, void * data);
-    int CheckUser(const std::string & login, const std::string & password, SIMPLE::CALLBACK f, void * data);
-
-    int GetServices(GET_CONTAINER::CALLBACK<GET_SERVICE::INFO>::TYPE f, void * data);
-    int GetService(const std::string & name, GET_SERVICE::CALLBACK f, void * data);
-    int ChgService(const SERVICE_CONF_RES & conf, SIMPLE::CALLBACK f, void * data);
-    int AddService(const std::string & name,
-                   const SERVICE_CONF_RES & conf,
-                   SIMPLE::CALLBACK f, void * data);
-    int DelService(const std::string & name, SIMPLE::CALLBACK f, void * data);
-
-    int GetCorporations(GET_CONTAINER::CALLBACK<GET_CORP::INFO>::TYPE f, void * data);
-    int GetCorp(const std::string & name, GET_CORP::CALLBACK f, void * data);
-    int ChgCorp(const CORP_CONF_RES & conf, SIMPLE::CALLBACK f, void * data);
-    int AddCorp(const std::string & name,
-                const CORP_CONF_RES & conf,
-                SIMPLE::CALLBACK f, void * data);
-    int DelCorp(const std::string & name, SIMPLE::CALLBACK f, void * data);
-
-    const std::string & GetStrError() const;
-
-private:
-    class IMPL;
-    IMPL * pImpl;
+    public:
+        ServConf(const std::string& server, uint16_t port,
+                 const std::string& login, const std::string& password);
+        ServConf(const std::string& server, uint16_t port,
+                 const std::string& localAddress, uint16_t localPort,
+                 const std::string& login, const std::string& password);
+        ~ServConf();
+
+        int ServerInfo(ServerInfo::Callback f, void* data);
+
+        int RawXML(const std::string& request, RawXML::Callback f, void* data);
+
+        int GetAdmins(GetContainer::Callback<GetAdmin::Info>::Type f, void* data);
+        int GetAdmin(const std::string& login, GetAdmin::Callback f, void* data);
+        int ChgAdmin(const AdminConfOpt& conf, Simple::Callback f, void* data);
+        int AddAdmin(const std::string& login,
+                     const AdminConfOpt& conf,
+                     Simple::Callback f, void* data);
+        int DelAdmin(const std::string& login, Simple::Callback f, void* data);
+
+        int GetTariffs(GetContainer::Callback<GetTariff::Info>::Type f, void* data);
+        int GetTariff(const std::string& name, GetTariff::Callback f, void* data);
+        int ChgTariff(const TariffDataOpt& conf, Simple::Callback f, void* data);
+        int AddTariff(const std::string& name,
+                      const TariffDataOpt& conf,
+                      Simple::Callback f, void* data);
+        int DelTariff(const std::string& name, Simple::Callback f, void* data);
+
+        int GetUsers(GetContainer::Callback<GetUser::Info>::Type f, void* data);
+        int GetUser(const std::string& login, GetUser::Callback f, void* data);
+        int ChgUser(const std::string& login,
+                    const UserConfOpt& conf,
+                    const UserStatOpt& stat,
+                    Simple::Callback f, void* data);
+        int DelUser(const std::string& login, Simple::Callback f, void* data);
+        int AddUser(const std::string& login,
+                    const UserConfOpt& conf,
+                    const UserStatOpt& stat,
+                    Simple::Callback f, void* data);
+        int AuthBy(const std::string& login, AuthBy::Callback f, void* data);
+        int SendMessage(const std::string& login, const std::string& text, Simple::Callback f, void* data);
+        int CheckUser(const std::string& login, const std::string& password, Simple::Callback f, void* data);
+
+        int GetServices(GetContainer::Callback<GetService::Info>::Type f, void* data);
+        int GetService(const std::string& name, GetService::Callback f, void* data);
+        int ChgService(const ServiceConfOpt& conf, Simple::Callback f, void* data);
+        int AddService(const std::string& name,
+                       const ServiceConfOpt& conf,
+                       Simple::Callback f, void* data);
+        int DelService(const std::string& name, Simple::Callback f, void* data);
+
+        int GetCorporations(GetContainer::Callback<GetCorp::Info>::Type f, void* data);
+        int GetCorp(const std::string& name, GetCorp::Callback f, void* data);
+        int ChgCorp(const CorpConfOpt& conf, Simple::Callback f, void* data);
+        int AddCorp(const std::string& name,
+                    const CorpConfOpt& conf,
+                    Simple::Callback f, void* data);
+        int DelCorp(const std::string & name, Simple::Callback f, void* data);
+
+        const std::string& GetStrError() const;
+
+    private:
+        class Impl;
+        Impl* pImpl;
 };
 
 } // namespace STG
-
-#endif