📄 eroomiplist.h
字号:
#ifndef EROOMIPLIST_DEF
#define EROOMIPLIST_DEF
#include <windows.h>
#define EI_ST_CONNECTED 0x0001
#define EI_ST_TIMEOUT 0x0002
#define EI_ST_DISCONNECTED 0x0004
#define EI_ST_RECONNECT 0x1000
#define EI_POOLTIME 20000 // 10檬
///////////////////////////////////////////////////////////////////////////////////////////
//
// EI_ST_CONNECTED : 泅犁 楷搬等惑怕
// EI_ST_DISCONNECTED : 厚 楷搬惑怕
// EI_ST_RECONNECT : 谗绢柳版快 犁 楷搬夸备
//
// (1) 楷搬等惑怕 : 林扁利栏肺 POLLING(林绢柳 矫埃)
// 3林扁 捞惑狼 矫埃捞 儒福搁 DISCONNECTED ==> 皋技瘤免仿
///////////////////////////////////////////////////////////////////////////////////////////
struct __EROOMIPLIST
{
unsigned long m_Ip;
unsigned short m_Port;
int m_Status;
int m_Count;
unsigned long m_Time;
__EROOMIPLIST *mp_Prev;
__EROOMIPLIST *mp_Next;
};
typedef struct __EROOMIPLIST EROOMIPLIST;
#define AddDestination(x, y) Insert(x, y)
class CEroomIpList
{
EROOMIPLIST *mp_Head;
CRITICAL_SECTION m_CSection;
public:
CEroomIpList();
virtual ~CEroomIpList();
EROOMIPLIST *Head();
EROOMIPLIST *Insert(char *ap_Ip, int a_Port, int a_Status=EI_ST_CONNECTED|EI_ST_RECONNECT);
EROOMIPLIST *Insert(EROOMIPLIST *ap_Item);
int Delete(char *ap_Ip, int a_Port);
int Delete(EROOMIPLIST *ap_Item);
int Clear();
EROOMIPLIST *Find(char *ap_Ip, int a_Port);
void SetStatus(char *ap_Ip, int a_Port, int a_Status);
void AddStatus(char *ap_Ip, int a_Port, int a_Status);
void DelStatus(char *ap_Ip, int a_Port, int a_Status);
int GetStatus(char *ap_Ip, int a_Port);
void StartCSection() { EnterCriticalSection(&m_CSection); };
void EndCSection() { LeaveCriticalSection(&m_CSection); };
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -