]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/stgconfig.h
Allowed to bind for a particular address/hostname for sgauth.
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / stgconfig.h
index 80cc16a751e35354e5d50a91bc8b1a7011afe051..7e3ae69b9ab55b5b5d5feb5af421be8852a377d2 100644 (file)
-#include <string>
-#include <pthread.h>
-#include "base_plugin.h"
-#include "base_store.h"
-#include "configproto.h"
-//#include "user_ips.h"
-//#include "../../../users.h"
+#ifndef STGCONFIG_H
+#define STGCONFIG_H
 
 
-using namespace std;
+#include <pthread.h>
 
 
-extern "C" BASE_PLUGIN * GetPlugin();
+#include <string>
 
 
-class STG_CONFIG;
+#include "stg/plugin.h"
+#include "stg/store.h"
+#include "stg/logger.h"
+#include "configproto.h"
 
 
-//-----------------------------------------------------------------------------
-/*template <typename varParamType>
-class CHG_BEFORE_NOTIFIER: public PROPERTY_NOTIFIER_BASE<varParamType>
-{
-public:
-    void Notify(const varParamType & oldValue, const varParamType & newValue)
-        {
-        auth->Unauthorize(user);
-        }
-    void SetUser(USER * u) { user = u; }
-    void SetAuthorizaror(const AUTH_AO * a) { auth = a; }
+extern "C" PLUGIN * GetPlugin();
 
 
-private:
-    USER * user;
-    const AUTH_AO * auth;
-};
-//-----------------------------------------------------------------------------
-template <typename varParamType>
-class CHG_AFTER_NOTIFIER: public PROPERTY_NOTIFIER_BASE<varParamType>
-{
-public:
-    void Notify(const varParamType & oldValue, const varParamType & newValue)
-        {
-        auth->UpdateUserAuthorization(user);
-        }
-    void SetUser(USER * u) { user = u; }
-    void SetAuthorizaror(const AUTH_AO * a) { auth = a; }
+class STG_CONFIG;
 
 
-private:
-    USER * user;
-    const AUTH_AO * auth;
-};*/
-//-----------------------------------------------------------------------------
-class STG_CONFIG_SETTINGS
-{
+class STG_CONFIG_SETTINGS {
 public:
 public:
-                    STG_CONFIG_SETTINGS();
-    virtual         ~STG_CONFIG_SETTINGS(){};
-    const string &  GetStrError() const;
+                    STG_CONFIG_SETTINGS() : errorStr(), port(0) {}
+    virtual         ~STG_CONFIG_SETTINGS() {}
+    const std::string & GetStrError() const { return errorStr; }
     int             ParseSettings(const MODULE_SETTINGS & s);
     int             ParseSettings(const MODULE_SETTINGS & s);
-    uint16_t        GetPort() const;
+    uint16_t        GetPort() const { return port; }
 private:
 private:
-    int     ParseIntInRange(const string & str, int min, int max, int * val);
-    string  errorStr;
+    std::string errorStr;
     int     port;
 };
 //-----------------------------------------------------------------------------
     int     port;
 };
 //-----------------------------------------------------------------------------
-class STG_CONFIG :public BASE_PLUGIN
-{
+class STG_CONFIG :public PLUGIN {
 public:
     STG_CONFIG();
     virtual ~STG_CONFIG(){};
 
 public:
     STG_CONFIG();
     virtual ~STG_CONFIG(){};
 
-    void                SetUsers(USERS * u);
-    void                SetTariffs(TARIFFS * t);
-    void                SetAdmins(ADMINS * a);
-    void                SetStore(BASE_STORE * s);
-    void                SetTraffcounter(TRAFFCOUNTER *){};
-    void                SetStgSettings(const SETTINGS * s);
-    void                SetSettings(const MODULE_SETTINGS & s);
+    void                SetUsers(USERS * u) { users = u; }
+    void                SetTariffs(TARIFFS * t) { tariffs = t; }
+    void                SetAdmins(ADMINS * a) { admins = a; }
+    void                SetStore(STORE * s) { store = s; }
+    void                SetStgSettings(const SETTINGS * s) { stgSettings = s; }
+    void                SetSettings(const MODULE_SETTINGS & s) { settings = s; }
     int                 ParseSettings();
 
     int                 Start();
     int                 Stop();
     int                 ParseSettings();
 
     int                 Start();
     int                 Stop();
-    int                 Reload() { return 0; };
-    bool                IsRunning();
+    int                 Reload() { return 0; }
+    bool                IsRunning() { return isRunning; }
 
 
-    const string      & GetStrError() const;
-    const string        GetVersion() const;
-    uint16_t            GetStartPosition() const;
-    uint16_t            GetStopPosition() const;
+    const std::string & GetStrError() const { return errorStr; }
+    const std::string   GetVersion() const;
+    uint16_t            GetStartPosition() const { return 20; }
+    uint16_t            GetStopPosition() const { return 20; }
 
 private:
 
 private:
+    STG_CONFIG(const STG_CONFIG & rvalue);
+    STG_CONFIG & operator=(const STG_CONFIG & rvalue);
+
     static void *       Run(void *);
     static void *       Run(void *);
-    mutable string      errorStr;
+
+    mutable std::string errorStr;
     STG_CONFIG_SETTINGS stgConfigSettings;
     pthread_t           thread;
     bool                nonstop;
     bool                isRunning;
     STG_CONFIG_SETTINGS stgConfigSettings;
     pthread_t           thread;
     bool                nonstop;
     bool                isRunning;
+    PLUGIN_LOGGER       logger;
     CONFIGPROTO         config;
     USERS *             users;
     ADMINS *            admins;
     TARIFFS *           tariffs;
     CONFIGPROTO         config;
     USERS *             users;
     ADMINS *            admins;
     TARIFFS *           tariffs;
-    BASE_STORE *        store;
+    STORE *             store;
     MODULE_SETTINGS     settings;
     const SETTINGS *    stgSettings;
 };
 //-----------------------------------------------------------------------------
 
     MODULE_SETTINGS     settings;
     const SETTINGS *    stgSettings;
 };
 //-----------------------------------------------------------------------------
 
-
+#endif