]> git.stg.codes - stg.git/blobdiff - projects/stargazer/main.cpp
Add virtual destructor for settings and traffcounter
[stg.git] / projects / stargazer / main.cpp
index 26176bfca34150e1d6cb02fa9774f901887c379d..7cab078d87bbe567c680b2021a6442e8312b44f7 100644 (file)
  $Author: faust $
  */
 
  $Author: faust $
  */
 
-/*#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>*/
 #include <unistd.h>
 #include <sys/ipc.h>
 #include <sys/msg.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <unistd.h>
 #include <sys/ipc.h>
 #include <sys/msg.h>
 #include <sys/types.h>
 #include <sys/wait.h>
-/*#include <sys/stat.h>
-#include <dlfcn.h>
-#include <fcntl.h>*/
+#include <sys/stat.h> // S_IRUSR
+#include <fcntl.h> // create
 
 #include <csignal>
 #include <cerrno>
 
 #include <csignal>
 #include <cerrno>
+#include <cstdio>
+#include <cstdlib> // srandom, exit
 #include <fstream>
 #include <vector>
 #include <set>
 #include <list>
 
 #include <fstream>
 #include <vector>
 #include <set>
 #include <list>
 
+#include "stg/user.h"
+#include "stg/common.h"
+#include "stg/plugin.h"
+#include "stg/logger.h"
+#include "stg/scriptexecuter.h"
+#include "stg/conffiles.h"
+#include "stg/version.h"
+#include "stg/pinger.h"
+#include "stg_timer.h"
 #include "settings_impl.h"
 #include "settings_impl.h"
-#include "user.h"
 #include "users_impl.h"
 #include "admins_impl.h"
 #include "tariffs_impl.h"
 #include "users_impl.h"
 #include "admins_impl.h"
 #include "tariffs_impl.h"
-#include "common.h"
+#include "services_impl.h"
+#include "corps_impl.h"
 #include "traffcounter_impl.h"
 #include "traffcounter_impl.h"
-#include "plugin.h"
-#include "stg_logger.h"
-#include "stg_timer.h"
 #include "plugin_runner.h"
 #include "plugin_runner.h"
-#include "script_executer.h"
-#include "conffiles.h"
-#include "version.h"
 #include "store_loader.h"
 #include "pidfile.h"
 #include "eventloop.h"
 #include "store_loader.h"
 #include "pidfile.h"
 #include "eventloop.h"
@@ -78,7 +78,6 @@ static bool childExited = false;
 set<pid_t> executersPid;
 static pid_t stgChildPid;
 
 set<pid_t> executersPid;
 static pid_t stgChildPid;
 
-#include "pinger.h"
 
 //-----------------------------------------------------------------------------
 bool StartModCmp(const PLUGIN_RUNNER & lhs, const PLUGIN_RUNNER & rhs)
 
 //-----------------------------------------------------------------------------
 bool StartModCmp(const PLUGIN_RUNNER & lhs, const PLUGIN_RUNNER & rhs)
@@ -350,12 +349,12 @@ switch (executerPid)
 
     case 0:
         delete settings;
 
     case 0:
         delete settings;
-        Executer(msgKey, *msgID, executerPid, procName);
+        Executer(*msgID, executerPid, procName);
         return 1;
 
     default:
         if (executersPid.empty()) {
         return 1;
 
     default:
         if (executersPid.empty()) {
-            Executer(msgKey, *msgID, executerPid, NULL);
+            Executer(*msgID, executerPid, NULL);
         }
         executersPid.insert(executerPid);
     }
         }
         executersPid.insert(executerPid);
     }
@@ -449,6 +448,8 @@ TARIFFS_IMPL * tariffs = NULL;
 ADMINS_IMPL * admins = NULL;
 USERS_IMPL * users = NULL;
 TRAFFCOUNTER_IMPL * traffCnt = NULL;
 ADMINS_IMPL * admins = NULL;
 USERS_IMPL * users = NULL;
 TRAFFCOUNTER_IMPL * traffCnt = NULL;
+SERVICES_IMPL * services = NULL;
+CORPORATIONS_IMPL * corps = NULL;
 int msgID = -11;
 
     {
 int msgID = -11;
 
     {
@@ -545,7 +546,9 @@ WriteServLog("Storage plugin: %s. Loading successfull.", dataStore->GetVersion()
 tariffs = new TARIFFS_IMPL(dataStore);
 admins = new ADMINS_IMPL(dataStore);
 users = new USERS_IMPL(settings, dataStore, tariffs, admins->GetSysAdmin());
 tariffs = new TARIFFS_IMPL(dataStore);
 admins = new ADMINS_IMPL(dataStore);
 users = new USERS_IMPL(settings, dataStore, tariffs, admins->GetSysAdmin());
-traffCnt = new TRAFFCOUNTER_IMPL(users, tariffs, settings->GetRulesFileName());
+traffCnt = new TRAFFCOUNTER_IMPL(users, settings->GetRulesFileName());
+services = new SERVICES_IMPL(dataStore);
+corps = new CORPORATIONS_IMPL(dataStore);
 traffCnt->SetMonitorDir(settings->GetMonitorDir());
 
 modSettings = settings->GetModulesSettings();
 traffCnt->SetMonitorDir(settings->GetMonitorDir());
 
 modSettings = settings->GetModulesSettings();
@@ -563,6 +566,8 @@ for (size_t i = 0; i < modSettings.size(); i++)
                       admins,
                       tariffs,
                       users,
                       admins,
                       tariffs,
                       users,
+                      services,
+                      corps,
                       traffCnt,
                       dataStore,
                       settings)
                       traffCnt,
                       dataStore,
                       settings)
@@ -624,11 +629,11 @@ srandom(stgTime);
  *
  * (c) man 2 nice
  */
  *
  * (c) man 2 nice
  */
-errno = 0;
+/*errno = 0;
 if (nice(-19) && errno) {
     printfd(__FILE__, "nice failed: '%s'\n", strerror(errno));
     WriteServLog("nice failed: '%s'", strerror(errno));
 if (nice(-19) && errno) {
     printfd(__FILE__, "nice failed: '%s'\n", strerror(errno));
     WriteServLog("nice failed: '%s'", strerror(errno));
-}
+}*/
 
 WriteServLog("Stg started successfully.");
 WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++");
 
 WriteServLog("Stg started successfully.");
 WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++");
@@ -729,6 +734,8 @@ KillExecuters();
 StopStgTimer();
 WriteServLog("StgTimer: Stop successfull.");
 
 StopStgTimer();
 WriteServLog("StgTimer: Stop successfull.");
 
+delete corps;
+delete services;
 delete traffCnt;
 delete users;
 delete admins;
 delete traffCnt;
 delete users;
 delete admins;