#include <unistd.h>
#include <signal.h>
-#include "stgconfig.h"
-#include "../../../tariffs.h"
-#include "../../../admins.h"
-#include "../../../users.h"
-
-class STGCONFIG_CREATOR
-{
-private:
- STG_CONFIG * stgconfig;
+#include <algorithm>
-public:
- STGCONFIG_CREATOR()
- : stgconfig(new STG_CONFIG())
- {
- };
- ~STGCONFIG_CREATOR()
- {
- delete stgconfig;
- };
+#include "stg/tariffs.h"
+#include "stg/admins.h"
+#include "stg/users.h"
+#include "stg/plugin_creator.h"
+#include "stgconfig.h"
- STG_CONFIG * GetPlugin()
- {
- return stgconfig;
- };
-};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-STGCONFIG_CREATOR stgc;
+PLUGIN_CREATOR<STG_CONFIG> stgc;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
{
}
//-----------------------------------------------------------------------------
-const string& STG_CONFIG_SETTINGS::GetStrError() const
+const std::string & STG_CONFIG_SETTINGS::GetStrError() const
{
return errorStr;
}
//-----------------------------------------------------------------------------
-int STG_CONFIG_SETTINGS::ParseIntInRange(const string & str, int min, int max, int * val)
-{
-if (str2x(str.c_str(), *val))
- {
- errorStr = "Incorrect value \'" + str + "\'.";
- return -1;
- }
-if (*val < min || *val > max)
- {
- errorStr = "Value \'" + str + "\' out of range.";
- return -1;
- }
-return 0;
-}
-//-----------------------------------------------------------------------------
int STG_CONFIG_SETTINGS::ParseSettings(const MODULE_SETTINGS & s)
{
int p;
vector<PARAM_VALUE>::const_iterator pvi;
///////////////////////////
pv.param = "Port";
-pvi = find(s.moduleParams.begin(), s.moduleParams.end(), pv);
+pvi = std::find(s.moduleParams.begin(), s.moduleParams.end(), pv);
if (pvi == s.moduleParams.end())
{
errorStr = "Parameter \'Port\' not found.";
return 0;
}
//-----------------------------------------------------------------------------
-uint16_t STG_CONFIG_SETTINGS::GetPort()
+uint16_t STG_CONFIG_SETTINGS::GetPort() const
{
return port;
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-BASE_PLUGIN * GetPlugin()
+PLUGIN * GetPlugin()
{
return stgc.GetPlugin();
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-const string STG_CONFIG::GetVersion() const
+const std::string STG_CONFIG::GetVersion() const
{
return "Stg configurator v.0.08";
}
//-----------------------------------------------------------------------------
STG_CONFIG::STG_CONFIG()
+ : nonstop(false),
+ isRunning(false),
+ users(NULL),
+ admins(NULL),
+ tariffs(NULL),
+ store(NULL),
+ stgSettings(NULL)
{
-isRunning = false;
-nonstop = false;
}
//-----------------------------------------------------------------------------
void STG_CONFIG::SetUsers(USERS * u)
admins = a;
}
//-----------------------------------------------------------------------------
-void STG_CONFIG::SetStore(BASE_STORE * s)
+void STG_CONFIG::SetStore(STORE * s)
{
store = s;
}
return ret;
}
//-----------------------------------------------------------------------------
-const string & STG_CONFIG::GetStrError() const
+const std::string & STG_CONFIG::GetStrError() const
{
return errorStr;
}