]> git.stg.codes - stg.git/blob - projects/stargazer/plugins/configuration/xrconfig/xrconfig.h
Reset delayed tariff change when setting new tariff immediately
[stg.git] / projects / stargazer / plugins / configuration / xrconfig / xrconfig.h
1 #include <string>
2 #include <pthread.h>
3 #include "base_plugin.h"
4 #include "common.h"
5
6 using namespace std;
7
8 extern "C" BASE_PLUGIN * GetPlugin();
9
10 class STG_CONFIG;
11
12 //-----------------------------------------------------------------------------
13 class XR_CONFIG_SETTINGS
14 {
15 public:
16                     XR_CONFIG_SETTINGS();
17     virtual         ~XR_CONFIG_SETTINGS(){};
18     const string &  GetStrError() const;
19     int             ParseSettings(const MODULE_SETTINGS & s);
20     uint16_t        GetPort();
21
22 private:
23     string  errorStr;
24     int     port;
25 };
26 //-----------------------------------------------------------------------------
27 class XR_CONFIG :public BASE_PLUGIN
28 {
29 public:
30     XR_CONFIG();
31     virtual ~XR_CONFIG(){};
32
33     void                SetUsers(USERS * u);
34     void                SetTariffs(TARIFFS * t);
35     void                SetAdmins(ADMINS * a);
36     void                SetStore(BASE_STORE * s);
37     void                SetTraffcounter(TRAFFCOUNTER * tc){};
38     void                SetStgSettings(const SETTINGS * s);
39     void                SetSettings(const MODULE_SETTINGS & s);
40     int                 ParseSettings();
41
42     int                 Start();
43     int                 Stop();
44     int                 Reload() { return 0; };
45     bool                IsRunning();
46
47     const string      & GetStrError() const;
48     const string        GetVersion() const;
49     uint16_t            GetStartPosition() const;
50     uint16_t            GetStopPosition() const;
51
52 private:
53
54
55     int                 SetUserCash(const string & admLogin, const string & usrLogin, double cash) const;
56
57     static void *       Run(void *);
58     mutable string      errorStr;
59     XR_CONFIG_SETTINGS  xrConfigSettings;
60     pthread_t           thread;
61     bool                nonstop;
62     bool                isRunning;
63
64     //CONFIGPROTO         config;
65
66     USERS *             users;
67     ADMINS *            admins;
68     TARIFFS *           tariffs;
69     BASE_STORE *        store;
70     MODULE_SETTINGS     settings;
71     const SETTINGS *    stgSettings;
72 };
73 //-----------------------------------------------------------------------------
74
75