code_app/sdk/webscan/WebServer.h

46 lines
1.0 KiB
C
Raw Normal View History

2022-09-06 08:27:58 +00:00
#pragma once
#include "base/HGDef.h"
#include "base/HGInc.h"
#include "base/HGThread.h"
#include "base/HGMsgPump.h"
#include "Msg.h"
#include <vector>
class WebServer
{
public:
WebServer(HGMsgPump msgPump);
~WebServer();
bool Open(HGUShort port);
bool Close();
void Connect(const ConnectParam* param);
void DisConnect(const DisConnectParam* param);
void CloseDev(const CloseDevParam* param);
void ScanFinish(const ScanFinishParam* param);
void Command(const WSCmdParam* param);
void Event(const WSEvtParam* param);
private:
#if defined(HG_CMP_MSC)
void PostConnectMsg(const std::string &ip, uint16_t port, SOCKET sockConn);
#else
void PostConnectMsg(const std::string &ip, uint16_t port, int sockConn);
#endif
int GetUserIndex(HGUInt id);
static void HGAPI ThreadFunc(HGThread thread, HGPointer param);
2022-09-06 08:27:58 +00:00
private:
HGMsgPump m_msgPump;
HGUInt m_currUserId;
#if defined(HG_CMP_MSC)
SOCKET m_sockServer;
#else
int m_sockServer;
#endif
HGThread m_listenThread;
std::vector<class WebUser*> m_vectorUser;
};