X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/641204dfbdb9fc870cdd2e7f9e3169a44693e7bf..5b4454ac18af09eb661d460afbbaa430e1e02dc4:/stglibs/pinger.lib/pinger.h diff --git a/stglibs/pinger.lib/pinger.h b/stglibs/pinger.lib/pinger.h index 4349eb07..f1f442e1 100644 --- a/stglibs/pinger.lib/pinger.h +++ b/stglibs/pinger.lib/pinger.h @@ -7,9 +7,8 @@ #ifndef PINGER_H #define PINGER_H -#include +#include #include -#include #include #include @@ -30,8 +29,6 @@ #include "os_int.h" -using namespace std; - //----------------------------------------------------------------------------- struct ICMP_HDR { @@ -94,15 +91,22 @@ public: int Stop(); void AddIP(uint32_t ip); void DelIP(uint32_t ip); - int GetPingIPNum(); - void GetAllIP(vector * ipTime); + int GetPingIPNum() const; void PrintAllIP(); - int GetIPTime(uint32_t ip, time_t * t); - void SetDelayTime(time_t delay); - time_t GetDelayTime(); - string GetStrError(); + int GetIPTime(uint32_t ip, time_t * t) const; + void SetDelayTime(time_t d) { delay = d; } + time_t GetDelayTime() const { return delay; } + const std::string & GetStrError() const { return errorStr; } private: + uint16_t PingCheckSum(void * data, int len); + int SendPing(uint32_t ip); + uint32_t RecvPing(); + void RealAddIP(); + void RealDelIP(); + + static void * RunSendPing(void * d); + static void * RunRecvPing(void * d); int delay; bool nonstop; @@ -116,24 +120,13 @@ private: PING_MESSAGE pmSend; uint32_t pid; - uint16_t PingCheckSum(void * data, int len); - int SendPing(uint32_t ip); - uint32_t RecvPing(); - void RealAddIP(); - void RealDelIP(); - - static void * RunSendPing(void * d); - static void * RunRecvPing(void * d); - - string errorStr; + std::string errorStr; - multimap pingIP; - list ipToAdd; - list ipToDel; + std::multimap pingIP; + std::list ipToAdd; + std::list ipToDel; - pthread_mutex_t mutex; + mutable pthread_mutex_t mutex; }; //----------------------------------------------------------------------------- #endif - -