120 lines
5.2 KiB
C
120 lines
5.2 KiB
C
#ifndef _HC_ISUP_IPS_H_
|
||
#define _HC_ISUP_IPS_H_
|
||
|
||
#include "HCISUPPublic.h"
|
||
|
||
|
||
#define MAX_INFO_PUBLISH_LISTEN_NUM 10 //最大信息发布服务器监听路数
|
||
#define MAX_FILE_PATH 260 //最大文件路径长度
|
||
|
||
/* 升级状态 */
|
||
#define NET_SDK_UPG_STATUS_SUCCESS 1000 //代表升级成功
|
||
#define NET_SDK_UPG_STATUS_PROCESSING 1001 //代表正在升级
|
||
#define NET_SDK_UPG_STATUS_FAILED 1002 //代表升级失败
|
||
#define NET_SDK_UPG_EXTRACT_FAILED 1003 //代表解压缩失败升级失败
|
||
#define NET_SDK_UPG_APK_VERSION_FAILED 1004 //代表APK版本不匹配升级失败
|
||
#define NET_SDK_UPG_ROM_VERSION_FAILED 1005 //代表ROM版本不匹配升级失败
|
||
#define NET_SDK_UPG_PKG_VER_FAIL 1006 //非升级包
|
||
#define NET_SDK_UPG_SIGN_FAILED 1007 //非签名升级包
|
||
#define NET_SDK_UPG_PKG_VER_SUCCESS 1008 //升级包校验成功
|
||
|
||
//信息发布交互状态
|
||
#define NET_SDK_INFO_PUBLISH_PROCESSING 1 //信息发布中
|
||
#define NET_SDK_INFO_PUBLISH_FAILED 2 //信息发布失败
|
||
#define NET_SDK_INFO_PUBLISH_NO_MEMORY 3 //存储空间不足
|
||
#define NET_SDK_INFO_PUBLISH_CANCEL 4 //取消日程发布
|
||
#define NET_SDK_INFO_PUBLISH_LEN_FAILED 6 //接收长度失败
|
||
#define NET_SDK_INFO_PUBLISH_DATA_FAILED 7 //接收数据失败
|
||
#define NET_SDK_INFO_PUBLISH_SEND_FAILED 8 //发送数据失败
|
||
//日程发布文件头
|
||
typedef struct
|
||
{
|
||
DWORD dwType; /* 1-日程,2-节目,3-素材*/
|
||
DWORD dwId; /* 日程号,或节目号,或素材号 */
|
||
DWORD dwIndex; /* 日程索引,或节目索引,或素材索引:用于标识某个日程或节目或素材是否改变 */
|
||
BYTE byIdentifyCode[32]; /* 终端的特征码 */
|
||
DWORD dwTimingPlanId; /*定时日程id*/
|
||
BYTE byRes[16];
|
||
}NET_EHOME_SCHEDULE_PUBLISH_HEAD;
|
||
|
||
//日程发布单文件
|
||
typedef struct
|
||
{
|
||
DWORD dwFileType; /* 1-日程xml,2-节目xml,3-素材xml,4-素材内容,5-素材文件发送完成 6-xml发送完成 7-页面-xml*/
|
||
DWORD dwId; /* 日程号,或节目号,或素材号 */
|
||
DWORD dwPageId; /* 页面号 (根据节目号生成唯一id)*/
|
||
DWORD dwIndex; /* 日程索引,或节目索引,或素材索引:用于标识某个日程或节目或素材是否改变 */
|
||
DWORD dwFileLen; /* 日程xml长度,或节目xml长度,或素材xml长度,或素材内容长度 */
|
||
BYTE byRes[12];
|
||
char * pXMLData; // xml数据(dwFileType为1、2、3时有效)
|
||
char szFilePath[MAX_FILE_PATH]; // 素材文件路径(dwFileType为4时有效)
|
||
}NET_EHOME_PUBLISH_SINGLE_FILE;
|
||
|
||
//日程发布文件
|
||
typedef struct
|
||
{
|
||
WORD wFileNumber; // 文件数量
|
||
BYTE byRes[2];
|
||
char * pFilesData; // 文件数据,wFileNumber个NET_EHOME_PUBLISH_SINGLE_FILE
|
||
BYTE byRes1[32];
|
||
}NET_EHOME_SCHEDULE_PUBLISH_FILE;
|
||
|
||
typedef BOOL(CALLBACK * INFO_PUBLISH_CB)(LONG iLinkHandle,DWORD dwDataType, void *pOutBuffer, DWORD dwOutLen,
|
||
void *pInBuffer, DWORD dwInLen, void *pUser);
|
||
|
||
typedef struct{
|
||
NET_EHOME_IPADDRESS struIPAddress;//本地监听信息,IP为0.0.0.0的情况下,默认为本地地址,多个网卡的情况下,默认为从操作系统获取到的第一个
|
||
INFO_PUBLISH_CB fnCB;//信息回调函数
|
||
void *pUser; //用户数据
|
||
BYTE byType;//0-保留,1-升级(因为升级交互,终端请求时没有带命令码,服务器无法区分,因此增加该字段)
|
||
BYTE byRes[31];
|
||
}NET_EHOME_INFO_PUBLISH_PARAM, *LPNET_EHOME_INFO_PUBLISH_PARAM;
|
||
|
||
//终端截屏结构体
|
||
typedef struct{
|
||
DWORD dwSeq;//截屏索引
|
||
DWORD dwScreenPicLen;//截屏图片大小
|
||
char *pScreenPic; //截屏图片数据
|
||
BYTE byRes[32];
|
||
}NET_EHOME_SCREEN_SHOT_PARAM, *LPNET_EHOME_SCREEN_SHOT_PARAM;
|
||
|
||
//终端升级信息
|
||
typedef struct{
|
||
char sUpgradeFilePath[MAX_FILE_PATH]; //升级文件的路径名
|
||
BYTE byRes[32]; //保留
|
||
}NET_EHOME_UPGRADE_INFO, *LPNET_EHOME_UPGRADE_INFO;
|
||
|
||
//终端升级状态
|
||
typedef struct{
|
||
DWORD dwSize;//结构体大小
|
||
DWORD dwStatus;//升级状态
|
||
DWORD dwPercent;//升级进度
|
||
}NET_EHOME_UPGRADE_STATUS, *LPNET_EHOME_UPGRADE_STATUS;
|
||
|
||
|
||
//信息发布
|
||
typedef enum tagNET_EHOME_INFO_PUBLISH_TYPE{
|
||
ENUM_SCHEDULE_PUBLICH = 0, //日程发布
|
||
ENUM_SCREEN_SHOT, //终端屏幕截图
|
||
ENUM_DEV_UPGRADE, //终端升级
|
||
}NET_EHOME_INFO_PUBLISH_TYPE;
|
||
|
||
//初始化,反初始化
|
||
NET_DVR_API BOOL CALLBACK NET_EIPS_Init();
|
||
NET_DVR_API BOOL CALLBACK NET_EIPS_Fini();
|
||
|
||
//获取错误码
|
||
NET_DVR_API DWORD CALLBACK NET_EIPS_GetLastError();
|
||
|
||
//日志
|
||
NET_DVR_API BOOL CALLBACK NET_EIPS_SetLogToFile(LONG iLogLevel, const char *strLogDir, BOOL bAutoDel);
|
||
|
||
//信息发布监听
|
||
NET_DVR_API LONG CALLBACK NET_EIPS_InfoPublishListen(LPNET_EHOME_INFO_PUBLISH_PARAM lpInfoPublishPara);
|
||
NET_DVR_API BOOL CALLBACK NET_EIPS_StopInfoPublisListen(LONG lHandle);
|
||
NET_DVR_API BOOL CALLBACK NET_EIPS_GetProgress(LONG lHandle, LONG iLinkHandle, LPDWORD pProgress);
|
||
NET_DVR_API BOOL CALLBACK NET_EIPS_GetUploadState(LONG lHandle, LONG iLinkHandle, LPDWORD pStatus);
|
||
|
||
#endif //_HC_ISUP_IPS_H_
|
||
|