]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/smux/smux.cpp
Rules counter added to the SMUX plugin
[stg.git] / projects / stargazer / plugins / other / smux / smux.cpp
index ac77ce6ec6203e784f631011019e19943c991083..d3f5bbdb547241d549141418218cd98fe8b4582e 100644 (file)
@@ -6,6 +6,7 @@
 #include <cerrno>
 #include <ctime>
 #include <csignal>
+#include <cassert>
 
 #include <vector>
 #include <algorithm>
 
 #include "stg/common.h"
 #include "stg/plugin_creator.h"
-#include "stg/users.h"
+/*#include "stg/users.h"
 #include "stg/tariffs.h"
 #include "stg/admins.h"
 #include "stg/services.h"
 #include "stg/corporations.h"
+#include "stg/traffcounter.h"*/
 
 #include "smux.h"
 #include "utils.h"
@@ -97,6 +99,7 @@ SMUX::SMUX()
       admins(NULL),
       services(NULL),
       corporations(NULL),
+      traffcounter(NULL),
       running(false),
       stopped(true),
       sock(-1)
@@ -136,6 +139,13 @@ return smuxSettings.ParseSettings(settings);
 
 int SMUX::Start()
 {
+assert(users != NULL && "users must not be NULL");
+assert(tariffs != NULL && "tariffs must not be NULL");
+assert(admins != NULL && "admins must not be NULL");
+assert(services != NULL && "services must not be NULL");
+assert(corporations != NULL && "corporations must not be NULL");
+assert(traffcounter != NULL && "traffcounter must not be NULL");
+
 if (PrepareNet())
     return -1;
 
@@ -159,6 +169,8 @@ sensors[OID(".1.3.6.1.4.1.38313.1.3.1")] = new TotalAdminsSensor(*admins);
 sensors[OID(".1.3.6.1.4.1.38313.1.4.1")] = new TotalServicesSensor(*services);
 // Corporations
 sensors[OID(".1.3.6.1.4.1.38313.1.5.1")] = new TotalCorporationsSensor(*corporations);
+// Traffcounter
+sensors[OID(".1.3.6.1.4.1.38313.1.6.1")] = new TotalRulesSensor(*traffcounter);
 
 // Table data
 tables[".1.3.6.1.4.1.38313.1.1.6"] = new TariffUsersTable(".1.3.6.1.4.1.38313.1.1.6", *users);