#pragma once #include "base/HGDef.h" #include "base/HGInc.h" #include "base/HGLock.h" #include "base/HGThread.h" #include "base/HGMsgPump.h" #include class WebServer; class WebUser { public: #if defined(HG_CMP_MSC) WebUser(WebServer* server, HGUInt id, const std::string& ip, uint16_t port, SOCKET sockConn); #else WebUser(WebServer* server, HGUInt id, const std::string& ip, uint16_t port, int sockConn); #endif virtual ~WebUser(); void Open(); HGUInt GetId(); protected: void PostDisConnectMsg(); virtual void ThreadFunc(); private: static void ThreadFunc(HGThread thread, HGPointer param); protected: WebServer* m_server; HGLock m_cs; HGUInt m_id; std::string m_ip; uint16_t m_port; #if defined(HG_CMP_MSC) SOCKET m_sockConn; #else int m_sockConn; #endif HGThread m_thread; };