]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp
More clear plugin API
[stg.git] / projects / stargazer / plugins / configuration / rpcconfig / rpcconfig.cpp
index af7419854c4a64f7e255f46702415686af7a0514..7968e0dc74249845b6e75e9268d6ca4626c4a9b3 100644 (file)
@@ -1,43 +1,25 @@
+#include <unistd.h> // TODO: usleep
+
 #include <cstdlib>
 #include <csignal>
 
 #include <vector>
 #include <algorithm>
 
-#include "rpcconfig.h"
-
-#include "admin.h"
-#include "module_settings.h"
-#include "../../../settings.h"
-#include "common.h"
+#include "stg/common.h"
+#include "stg/admin.h"
+#include "stg/module_settings.h"
+#include "stg/settings.h"
+#include "stg/plugin_creator.h"
 
+#include "rpcconfig.h"
 #include "info_methods.h"
 #include "users_methods.h"
 #include "tariffs_methods.h"
 #include "admins_methods.h"
 #include "messages_methods.h"
 
-class RPC_CONFIG_CREATOR {
-private:
-    RPC_CONFIG * rpcconfig;
-
-public:
-    RPC_CONFIG_CREATOR()
-        : rpcconfig(new RPC_CONFIG())
-        {
-        }
-    ~RPC_CONFIG_CREATOR()
-        {
-        delete rpcconfig;
-        }
-
-    RPC_CONFIG * GetPlugin()
-        {
-        return rpcconfig;
-        }
-};
-
-RPC_CONFIG_CREATOR rpcc;
+PLUGIN_CREATOR<RPC_CONFIG> rpcc;
 
 RPC_CONFIG_SETTINGS::RPC_CONFIG_SETTINGS()
     : errorStr(),
@@ -46,24 +28,6 @@ RPC_CONFIG_SETTINGS::RPC_CONFIG_SETTINGS()
 {
 }
 
-int RPC_CONFIG_SETTINGS::ParseIntInRange(const std::string & str,
-                                         int min,
-                                         int max,
-                                         int * val)
-{
-if (str2x(str.c_str(), *val))
-    {
-    errorStr = "Incorrect value \'" + str + "\'.";
-    return -1;
-    }
-if (*val < min || *val > max)
-    {
-    errorStr = "Value \'" + str + "\' out of range.";
-    return -1;
-    }
-return 0;
-}
-
 int RPC_CONFIG_SETTINGS::ParseSettings(const MODULE_SETTINGS & s)
 {
 int p;
@@ -347,7 +311,7 @@ xmlrpc_c::methodPtr const methodAddCashPtr(new METHOD_USER_CASH_ADD(
             store,
             users
             ));
-rpcRegistry.addMethod("stargazer.add_cash", methodAddCashPtr);
+rpcRegistry.addMethod("stargazer.add_user_cash", methodAddCashPtr);
 
 xmlrpc_c::methodPtr const methodSetCashPtr(new METHOD_USER_CASH_SET(
             this,
@@ -355,7 +319,7 @@ xmlrpc_c::methodPtr const methodSetCashPtr(new METHOD_USER_CASH_SET(
             store,
             users
             ));
-rpcRegistry.addMethod("stargazer.set_cash", methodSetCashPtr);
+rpcRegistry.addMethod("stargazer.set_user_cash", methodSetCashPtr);
 
 xmlrpc_c::methodPtr const methodTariffChangePtr(new METHOD_USER_TARIFF_CHANGE(
             this,
@@ -364,7 +328,7 @@ xmlrpc_c::methodPtr const methodTariffChangePtr(new METHOD_USER_TARIFF_CHANGE(
             store,
             users
             ));
-rpcRegistry.addMethod("stargazer.tariff_change", methodTariffChangePtr);
+rpcRegistry.addMethod("stargazer.chg_user_tariff", methodTariffChangePtr);
 
 xmlrpc_c::methodPtr const methodGetTariffPtr(new METHOD_TARIFF_GET(
             this,
@@ -434,7 +398,7 @@ xmlrpc_c::methodPtr const methodSendMessagePtr(new METHOD_MESSAGE_SEND(
             this,
             users
             ));
-rpcRegistry.addMethod("stargazer.send_message", methodSendMessagePtr);
+rpcRegistry.addMethod("stargazer.send_user_message", methodSendMessagePtr);
 
 xmlrpc_c::methodPtr const methodGetOnlinIPsPtr(new METHOD_GET_ONLINE_IPS(
             this,