X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/258b7ce79dba0c01b378e73bd6b8ee9fb1ae695d..086e44c60b861d665fe2a3e1cd7d691201e91c8c:/projects/stargazer/plugins/other/userstat/datathread.h diff --git a/projects/stargazer/plugins/other/userstat/datathread.h b/projects/stargazer/plugins/other/userstat/datathread.h deleted file mode 100644 index 4371516e..00000000 --- a/projects/stargazer/plugins/other/userstat/datathread.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef __DATATHREAD_H__ -#define __DATATHREAD_H__ - -#include -#include - -#include -#include - -#include "common.h" -#include "../../../users.h" - -uint32_t n2l(unsigned char * c) -{ - uint32_t t = *c++ << 24; - t += *c++ << 16; - t += *c++ << 8; - t += *c; - return t; -} - -void l2n(uint32_t t, unsigned char * c) -{ - *c++ = t >> 24 & 0x000000FF; - *c++ = t >> 16 & 0x000000FF; - *c++ = t >> 8 & 0x000000FF; - *c++ = t & 0x000000FF; -} - -typedef std::map PV_LIST; - -class DataThread { -public: - DataThread(); - ~DataThread(); - - void SetUsers(USERS * u) { users = u; }; - void SetStore(BASE_STORE * s) { store = s; }; - - bool isDone() const { return done; }; - - bool Handle(int s); - - friend void DTXMLStart(void * data, const char * name, const char ** attr); - friend void DTXMLEnd(void * data, const char * name); -private: - pthread_t tid; - USERS * users; - BASE_STORE * store; - int sock; - bool done; - struct Request { - PV_LIST conf; - PV_LIST stat; - std::string login; - bool isOk; - bool isBad; - } request; - PV_LIST * pvList; - char * data; - int32_t dataSize; - - std::string login; - user_iter uit; - - XML_Parser xmlParser; - - static void * Run(void * self); - - bool ReadRequest(); - bool DecodeRequest(); - bool ParseRequest(); - bool MakeAnswer(); - - bool MakeConf(); - bool MakeStat(); - bool SendAnswer(); - - void Cleanup(); - - void ParseTag(const std::string & name, const char ** attr); -}; - -void DTXMLStart(void * data, const char * name, const char ** attr); -void DTXMLEnd(void * data, const char * name); - -#endif