]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/smux/smux.cpp
Added a wrapper for correct oid comparsion
[stg.git] / projects / stargazer / plugins / other / smux / smux.cpp
index 14f47da3c5e5b21b2f11b9e0a4d3d6fba2982ed6..f6c1fade56bc7b9b622e94a7570f7672284415b0 100644 (file)
 #include <algorithm>
 
 #include "stg/common.h"
+#include "stg/plugin_creator.h"
 
 #include "smux.h"
 #include "utils.h"
 
-class SMUX_CREATOR
-{
-private:
-    SMUX * smux;
-
-public:
-    SMUX_CREATOR() : smux(new SMUX()) {}
-    ~SMUX_CREATOR() { delete smux; }
-
-    SMUX * GetPlugin() { return smux; }
-};
-
-SMUX_CREATOR sac;
+PLUGIN_CREATOR<SMUX> smc;
 
 PLUGIN * GetPlugin()
 {
-return sac.GetPlugin();
-}
-
-int ParseIntInRange(const std::string & str,
-                    int min,
-                    int max,
-                    int * val)
-{
-if (str2x(str.c_str(), *val))
-    {
-    return -1;
-    }
-if (*val < min || *val > max)
-    {
-    return -1;
-    }
-return 0;
+return smc.GetPlugin();
 }
 
 SMUX_SETTINGS::SMUX_SETTINGS()
@@ -60,7 +33,7 @@ int SMUX_SETTINGS::ParseSettings(const MODULE_SETTINGS & s)
 PARAM_VALUE pv;
 std::vector<PARAM_VALUE>::const_iterator pvi;
 int p;
-///////////////////////////
+
 pv.param = "Port";
 pvi = std::find(s.moduleParams.begin(), s.moduleParams.end(), pv);
 if (pvi == s.moduleParams.end())
@@ -143,19 +116,19 @@ if (PrepareNet())
     return -1;
 
 // Users
-sensors[".1.3.6.1.4.1.38313.1.1.1"] = new TotalUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.2"] = new ConnectedUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.3"] = new AuthorizedUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.4"] = new AlwaysOnlineUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.5"] = new NoCashUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.7"] = new DisabledDetailStatsUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.8"] = new DisabledUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.9"] = new PassiveUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.10"] = new CreditUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.11"] = new FreeMbUsersSensor(*users);
-sensors[".1.3.6.1.4.1.38313.1.1.12"] = new TariffChangeUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.1")] = new TotalUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.2")] = new ConnectedUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.3")] = new AuthorizedUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.4")] = new AlwaysOnlineUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.5")] = new NoCashUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.7")] = new DisabledDetailStatsUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.8")] = new DisabledUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.9")] = new PassiveUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.10")] = new CreditUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.11")] = new FreeMbUsersSensor(*users);
+sensors[OID(".1.3.6.1.4.1.38313.1.1.12")] = new TariffChangeUsersSensor(*users);
 // Tariffs
-sensors[".1.3.6.1.4.1.38313.1.2.1"] = new TotalTariffsSensor(*tariffs);
+sensors[OID(".1.3.6.1.4.1.38313.1.2.1")] = new TotalTariffsSensor(*tariffs);
 
 if (!running)
     {