code_app/sdk/webservice/WebUser.h

46 lines
822 B
C++

#pragma once
#include "base/HGDef.h"
#include "base/HGInc.h"
#include "base/HGLock.h"
#include "base/HGThread.h"
#include "base/HGMsgPump.h"
#include <string>
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 HGAPI 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;
};