123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #ifndef __SAT_PROTOCOL__
- #define __SAT_PROTOCOL__
- #pragma once
- namespace SATPROTO{
- // 最大设备数;
- const int MAX_DEVS(30);
- // 文件名最大长度;
- const int MAX_NAME(64);
- // 最大用例数;
- const int MAX_CASES(50);
- // 最大任务数;
- const int MAX_TASKS(10);
- // 通知内容最大长度;
- const int MAX_NOTICE(30);
- //////////////////////////////////////////////////////////////////////////
- // 具体协议指令;
- enum ProtocolCMD {
- // 登录、登出;
- CMD_LOGIN = 0,
- CMD_LOGOUT,
- // 设备;
- CMD_ADD_DEVICE,
- CMD_DEL_DEVICE,
- CMD_QUERY_DEVICES,
- // 查询任务;
- CMD_QUERY_TASK,
- // 脚本通知
- CMD_PY_NOTICE
- };
- //////////////////////////////////////////////////////////////////////////
- // 通信数据声明;
- #pragma pack(push)
- #pragma pack(1)
- // 数据头;
- typedef struct _DATAHEADER_ {
- // 协议标识符;
- byte protocol;
- // 当前通信包的长度=header长度+buf长度;
- unsigned int len;
- // 命令类型;
- byte cmd;
- }DataHeader, *pDataHeader;
- // 请求包
- typedef struct _PACKAGE_ {
- DataHeader header;
- byte buf[4]; // 具体内容(指针地址);
- }Package;
- // 用于登录/登出;
- typedef struct __USERINFO__ {
- char szUserName[MAX_PATH];
- char szPassword[MAX_PATH];
- char szActuatorName[MAX_PATH];
- }UserInfo, *pUserInfo;
- // 登录返回;
- typedef struct __LOGIN_RESP__ {
- // true登录成功;
- bool bStatus;
- // 描述(暂时不用);
- char szMessage[MAX_PATH];
- }LoginResp, *pLoginResp;
- typedef struct __DEVICE__ {
- int nType; // 0=虚拟, 1=usb, 2=网线;
- char szName[MAX_PATH]; // 设备名称(IP:端口号);
- int nStatus; // 设备状态:0表示空闲,1表示繁忙;
- }Device, *pDevice;
- // 查询设备返回;
- typedef struct __QUERY_DEVICES_RESP__ {
- // 设备数量;
- int nSize;
- // 最多只能返回MAX_DEVS个设备;
- Device ssDevs[MAX_DEVS];
- }DeviceResp, *pDeviceResp;
- typedef struct __CASE_INFO__ {
- //int nCaseId; // 用例ID;
- int nStatus; // 用例状态;
- int szCaseName[MAX_NAME]; // 用例名称;
- //int szCaseLogPath[MAX_PATH]; // 用例日志路径;
- }CaseInfo, *pCaseInfo;
- // 任务查询;
- typedef struct __TASK_INFO__ {
- int nStatus; // 任务状态; 0:执行中;1:执行完成;
- int nTaskId; // 任务ID;
- char szTaskNo[MAX_NAME]; // 任务编号;
- char szTaskName[MAX_NAME]; // 任务名称;
- //char szDeviceId[MAX_PATH]; // 设备ID(序列号);
- //char szStartTime[MAX_PATH]; // 任务开始时间;
- //char szEndTime[MAX_PATH]; // 任务结束时间;
- //char szScriptDir[MAX_PATH]; // 脚本路径;
- CaseInfo ssCases[MAX_CASES]; // 每个任务上限MAX_CASES个用例脚本;
- }TaskInfo, *pTaskInfo;
- typedef struct __QUERY_TASK_RESP__ {
- int nSize;
- TaskInfo ssTasks[MAX_TASKS];
- }TaskInfoResp, *pTaskInfoResp;
- typedef struct __PY_NOTICE__ {
- __int64 nTimeStamp; // 时间戳;
- int nNoticeType; // 通知类型;
- //char szNotice[MAX_NOTICE]; // 通知内容;
- }PyNotice, *pPyNotice;
- #pragma pack(pop)
- }
- #endif // __SAT_PROTOCOL__
|