Init: Migrate SimpleRemoter (Since v1.3.1) to Gitea
This commit is contained in:
63
server/2015Remote/context.h
Normal file
63
server/2015Remote/context.h
Normal file
@@ -0,0 +1,63 @@
|
||||
#pragma once
|
||||
|
||||
#include "common/header.h"
|
||||
#include "common/commands.h"
|
||||
#include <atlstr.h>
|
||||
|
||||
enum {
|
||||
ONLINELIST_IP = 0, // IP的列顺序
|
||||
ONLINELIST_ADDR, // 地址
|
||||
ONLINELIST_LOCATION, // 地理位置
|
||||
ONLINELIST_COMPUTER_NAME, // 计算机名/备注
|
||||
ONLINELIST_OS, // 操作系统
|
||||
ONLINELIST_CPU, // CPU
|
||||
ONLINELIST_VIDEO, // 摄像头(有无)
|
||||
ONLINELIST_PING, // PING(对方的网速)
|
||||
ONLINELIST_VERSION, // 版本信息
|
||||
ONLINELIST_INSTALLTIME, // 安装时间
|
||||
ONLINELIST_LOGINTIME, // 活动窗口
|
||||
ONLINELIST_CLIENTTYPE, // 客户端类型
|
||||
ONLINELIST_PATH, // 文件路径
|
||||
ONLINELIST_PUBIP,
|
||||
ONLINELIST_STARTTIME,
|
||||
ONLINELIST_CAPABILITIES, // 客户端能力位
|
||||
ONLINELIST_MAX,
|
||||
};
|
||||
|
||||
class context
|
||||
{
|
||||
public:
|
||||
// 纯虚函数
|
||||
virtual VOID InitMember(SOCKET s, VOID* svr) = 0;
|
||||
virtual BOOL Send2Client(PBYTE szBuffer, ULONG ulOriginalLength) = 0;
|
||||
virtual CString GetClientData(int index)const = 0;
|
||||
virtual void GetAdditionalData(CString(&s)[RES_MAX]) const = 0;
|
||||
virtual CString GetAdditionalData(int index) const = 0;
|
||||
virtual uint64_t GetClientID() const = 0;
|
||||
virtual std::string GetPeerName() const = 0;
|
||||
virtual int GetPort() const = 0;
|
||||
virtual std::string GetProtocol() const = 0;
|
||||
virtual int GetServerPort() const = 0;
|
||||
virtual FlagType GetFlagType() const = 0;
|
||||
virtual std::string GetGroupName() const = 0;
|
||||
virtual uint64_t GetAliveTime()const = 0;
|
||||
virtual void SetLastHeartbeat(uint64_t time) = 0;
|
||||
virtual uint64_t GetLastHeartbeat() = 0;
|
||||
virtual void CancelIO() = 0;
|
||||
virtual std::string GetMasterID() const = 0;
|
||||
public:
|
||||
virtual ~context() {}
|
||||
virtual void Destroy() {}
|
||||
virtual BOOL IsLogin() const
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
virtual void SetGroupName(const std::string& group) {}
|
||||
|
||||
// 检查客户端是否支持 V2 文件传输
|
||||
bool SupportsFileV2() const {
|
||||
CString caps = GetClientData(ONLINELIST_CAPABILITIES);
|
||||
if (caps.IsEmpty()) return false;
|
||||
return (strtoul(caps.GetString(), nullptr, 16) & CLIENT_CAP_V2) != 0;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user