struct NET_ROUTER
{
-uint32_t subnetIP;
-uint32_t subnetMask;
-std::vector<uint32_t> routers;
+ NET_ROUTER() : subnetIP(0), subnetMask(0), routers() {}
+ NET_ROUTER(const NET_ROUTER & rvalue)
+ : subnetIP(rvalue.subnetIP),
+ subnetMask(rvalue.subnetMask),
+ routers(rvalue.routers)
+ {}
+
+ uint32_t subnetIP;
+ uint32_t subnetMask;
+ std::vector<uint32_t> routers;
+
+ NET_ROUTER & operator=(const NET_ROUTER & rvalue)
+ {
+ subnetIP = rvalue.subnetIP;
+ subnetMask = rvalue.subnetMask;
+ routers = rvalue.routers;
+ return *this;
+ }
};
class NRMapParser {
public:
- NRMapParser();
- ~NRMapParser();
+ NRMapParser() : nrmap(), errorStr() {}
+ ~NRMapParser() {}
bool ReadFile(const std::string & fileName);
const std::vector<NET_ROUTER> & GetMap() const { return nrmap; };
const std::string & GetErrorStr() const { return errorStr; };
+
private:
+ NRMapParser(const NRMapParser & rvalue);
+ NRMapParser & operator=(const NRMapParser & rvalue);
+
std::vector<NET_ROUTER> nrmap;
mutable std::string errorStr;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-RS_USER::RS_USER()
- : lastSentTime(0),
- user(NULL),
- shortPacketsCount(0)
-{
-}
-//-----------------------------------------------------------------------------
-RS_USER::RS_USER(const std::vector<uint32_t> & r, USER_PTR it)
- : lastSentTime(0),
- user(it),
- routers(r),
- shortPacketsCount(0)
+RS_USER & RS_USER::operator=(const RS_USER & rvalue)
{
+lastSentTime = rvalue.lastSentTime;
+user = rvalue.user;
+routers = rvalue.routers;
+shortPacketsCount = rvalue.shortPacketsCount;
+return *this;
}
//-----------------------------------------------------------------------------
RS_SETTINGS::RS_SETTINGS()
: sendPeriod(0),
- port(0)
+ port(0),
+ errorStr(),
+ netRouters(),
+ userParams(),
+ password(),
+ subnetFile()
{
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
REMOTE_SCRIPT::REMOTE_SCRIPT()
- : sendPeriod(15),
+ : ctx(),
+ afterChgIPNotifierList(),
+ authorizedUsers(),
+ errorStr(),
+ rsSettings(),
+ settings(),
+ sendPeriod(15),
halfPeriod(8),
nonstop(false),
isRunning(false),
users(NULL),
+ netRouters(),
+ thread(),
+ mutex(),
sock(0),
onAddUserNotifier(*this),
onDelUserNotifier(*this)
void Notify(const USER_PTR & user);
private:
+ RS_ADD_USER_NONIFIER(const RS_ADD_USER_NONIFIER & rvalue);
+ RS_ADD_USER_NONIFIER & operator=(const RS_ADD_USER_NONIFIER);
+
REMOTE_SCRIPT & rs;
};
//-----------------------------------------------------------------------------
void Notify(const USER_PTR & user);
private:
+ RS_DEL_USER_NONIFIER(const RS_DEL_USER_NONIFIER & rvalue);
+ RS_DEL_USER_NONIFIER & operator=(const RS_DEL_USER_NONIFIER);
+
REMOTE_SCRIPT & rs;
};
//-----------------------------------------------------------------------------
-template <typename varParamType>
-class RS_CHG_AFTER_NOTIFIER: public PROPERTY_NOTIFIER_BASE<varParamType> {
+template <typename T>
+class RS_CHG_AFTER_NOTIFIER: public PROPERTY_NOTIFIER_BASE<T> {
public:
RS_CHG_AFTER_NOTIFIER(REMOTE_SCRIPT & r, USER_PTR u) : user(u), rs(r) {}
- void Notify(const varParamType & oldValue, const varParamType & newValue);
- USER_PTR GetUser() {return user; }
+ RS_CHG_AFTER_NOTIFIER(const RS_CHG_AFTER_NOTIFIER<T> & rvalue)
+ : user(rvalue.user), rs(rvalue.rs)
+ {}
+ void Notify(const T & oldValue, const T & newValue);
+ USER_PTR GetUser() { return user; }
private:
+ RS_CHG_AFTER_NOTIFIER<T> & operator=(const RS_CHG_AFTER_NOTIFIER<T> & rvalue);
+
USER_PTR user;
REMOTE_SCRIPT & rs;
};
//-----------------------------------------------------------------------------
struct RS_USER {
-RS_USER();
-RS_USER(const std::vector<uint32_t> & r, USER_PTR it);
-
-time_t lastSentTime;
-USER_PTR user;
-std::vector<uint32_t> routers;
-int shortPacketsCount;
+ RS_USER()
+ : lastSentTime(0),
+ user(NULL),
+ routers(),
+ shortPacketsCount(0)
+ {}
+ RS_USER(const std::vector<uint32_t> & r, USER_PTR it)
+ : lastSentTime(0),
+ user(it),
+ routers(r),
+ shortPacketsCount(0)
+ {}
+ RS_USER(const RS_USER & rvalue)
+ : lastSentTime(rvalue.lastSentTime),
+ user(rvalue.user),
+ routers(rvalue.routers),
+ shortPacketsCount(rvalue.shortPacketsCount)
+ {}
+
+ RS_USER & operator=(const RS_USER & rvalue);
+
+ time_t lastSentTime;
+ USER_PTR user;
+ std::vector<uint32_t> routers;
+ int shortPacketsCount;
};
//-----------------------------------------------------------------------------
class RS_SETTINGS {
void ChangedIP(USER_PTR u, uint32_t oldIP, uint32_t newIP);
private:
+ REMOTE_SCRIPT(const REMOTE_SCRIPT & rvalue);
+ REMOTE_SCRIPT & operator=(const REMOTE_SCRIPT & rvalue);
+
static void * Run(void *);
bool PrepareNet();
bool FinalizeNet();
//-----------------------------------------------------------------------------
inline void RS_ADD_USER_NONIFIER::Notify(const USER_PTR & user)
{
-printfd(__FILE__, "ADD_USER_NONIFIER\n");
rs.AddUser(user);
}
//-----------------------------------------------------------------------------
inline void RS_DEL_USER_NONIFIER::Notify(const USER_PTR & user)
{
-printfd(__FILE__, "DEL_USER_NONIFIER\n");
rs.DelUser(user);
}
//-----------------------------------------------------------------------------