更新时间:2022-03-21 GMT+08:00
IdeaShareDef.h
SDK数据结构及宏定义头文件
/* * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. */ /* * * @file IdeaShareDef.h * * Copyright(C), 2012-2015, Huawei Tech. Co., Ltd. ALL RIGHTS RESERVED. \n * * 描述:ideashare wrapper sdk。 \n */ #ifndef __IDEASHARE_CLIENT_DEF_H__ #define __IDEASHARE_CLIENT_DEF_H__ #include<string> #include<iostream> #include <list> #include <algorithm> using namespace std; #ifdef WIN32 #ifdef IDEA_SHARE_API #undef IDEA_SHARE_API #endif #ifdef IDEA_SHARE_EXPORT #define IDEA_SHARE_API __declspec(dllexport) #else #define IDEA_SHARE_API __declspec(dllimport) #endif #else /*WIN32*/ #define IDEA_SHARE_API __attribute__ ((__visibility__ ("default"))) #endif #ifdef __cplusplus #if __cplusplus extern "C" { #endif /* __cpluscplus */ #endif /* __cpluscplus */ /* ****************************************************************************** * 宏常量定义区 * ***************************************************************************** */ /* ****************************************************************************** * 枚举类型定义区 * ***************************************************************************** */ /** * [en]This enumeration is used to describe the log level * [cn]日志级别 */ typedef enum { IDEA_LEVEL_ERROR = 0, /**< [en]Indicates the error level <br>[cn]错误级别 */ IDEA_LEVEL_WARNING, /**< [en]Indicates the warning level <br>[cn]警告级别 */ IDEA_LEVEL_INFO, /**< [en]Indicates the info level <br>[cn]信息级别 */ IDEA_LEVEL_DEBUG /**< [en]Indicates the debug level <br>[cn]调试级别 */ } LogLevel; /** * [cn]ERROR */ typedef enum { DISCOVER_ERROR = 0, //设备发现错误 0 CONNECT_ERROR, //连接错误 1 DISCONNECT_ERROR, //断开连接错误 2 SHARE_PLAY_ERROR, //启动投屏错误 3 SHARE_STOP_ERROR, //停止投屏错误 4 GET_REMOTE_SERVICE_STATUS_ERROR, //遥控器参数查询结果错误 5 SET_REMOTE_MIC_MUTE_ERROR, //打开\关闭麦克风结果错误 6 SET_REMOTE_SPEAKER_VOLUME_ERROR, //调节扬声器音量结果错误 7 SET_REMOTE_SPEAKER_MUTE_ERROR, //打开\关闭扬声器结果错误 8 SET_REMOTE_CAMERA_MUTE_ERROR, //打开\关闭摄像机结果错误 9 LEAVE_CONFERENCE_ERROR, //离开会议结果错误 10 END_CONFERENCE_ERROR, //结束会议结果错误 11 GET_SDK_LATEST_VERSION_ERROR, //获取SDK最新版本 12 PROCESS_CONNECTING_ERROR, //正在处理连接请求 13 IN_CONNECTION_ERROR, //客户端已处于连接 14 PROJECTION_CODE_ERROR, //投影码错误 数字+字母组合 15 AUTH_ERROR, //鉴权失败 16 CLIENT_IS_LOCKED_ERROR, //客户端被锁定 17 CONNECT_BUSY_ERROR, //终端忙碌 18 CONNECT_UPDATING_ERROR, //终端正在升级 19 WEB_DENY_ERROR, //WEB被禁用 20 NO_COMMON_DATA_CAP_ERROR, //和客户端没有辅流公共能力 21 GET_TOKEN_FAILD_ERROR, //获取辅流令牌失败 22 LOW_BANDWIDTH_ERROR, //带宽过低,无法发送辅流 23 CONF_NO_DATA_CAP_ERROR, //会议无辅流能力 24 MULTICONNECT_BUSY_ERROR, //终端正在处理辅流发送,暂且不接受辅流发送该请求 25 EUA_AUTH_ERROR, //EUA鉴权失败 26 EUA_IS_LOCKED_ERROR, //EUA客户端被锁定 27 } ShareAppErr; /*服务端指示*/ typedef enum { SERVER_STATUS_CONNECT, SERVER_STATUS_SHARE, SERVER_STATUS_STOP_SHARE, SERVER_STATUS_DISCONNECT, SERVER_STATUS_BUTT } ShareAppServerStatus; /*服务端指示*/ typedef enum { SCREEN_PRIMARY, SCREEN_SECONDARY } ShareAppScreenType; typedef enum { FLUENCY_FIRST = 0, /* 流畅优先 */ QUAITY_CLEAR_FIRST, /* 清晰优先 */ QUAITY_ADAPTIVE, /* 自适应 */ } ShareAppDefinationQuality; /* ****************************************************************************** * 结构体定义区 * ***************************************************************************** */ typedef struct { std::string appId;// 最大长度128 std::string exePath;// 最大长度128 } AppInfo; typedef struct { std::string path;//最大长度256 LogLevel logLevel; bool enable; //是否开启日志 } LogInfo; typedef struct { int result; std::string password; std::list<std::string> addressList; } DiscoverResult; typedef struct { unsigned int isMute; unsigned int isCameraMute; int volume; unsigned int isSpeakerMute; unsigned int isChairman; unsigned int isBase; } RemoteServiceStatus; typedef enum { IDEA_SHARE_CONNECTED, /* * < 连接 */ IDEA_SHARE_SHARING, /* * < 共享 */ IDEA_SHARE_STOPSHARING, /* * < 停止共享 */ IDEA_SHARE_DISCONNECT, /* * < 断连 */ IDEA_SHARE_BUTT } IdeaShareStatus; typedef enum { CONF_IDLE = 0, // 空闲 CONF_BUSY, // 忙 } ConfSate; typedef enum { AUX_IDLE = 0, // 空闲 AUX_BUSY, // 忙 } AuxState; /* * * 连接上报结果结构体 */ typedef struct { std::string deviceAddress; /* *< 终端地址(IP地址 or 域名) */ std::string deviceName; /* *< 终端名(会场名) */ unsigned int isSupportRemote; /* *< 终端侧是否支持遥控器 VOS_TRUE:支持,VOS_FALSE:不支持。TUP目前默认为VOS_TRUE,支持 */ } DeviceInfo; typedef struct { ShareAppDefinationQuality shareQuality; //清晰度 bool isShareAudio; /* 0表示不共享音频,1表示共享音频 */ bool isCompability; /* 0表示不开启兼容性,1表示开启兼容性 */ } SharePolicy; typedef enum { NON_PROJECTOR = 0, PROJECTOR, DEVICE_BUTT } ShareDeviceType; /* 认证模式*/ typedef enum { TLS_VERIFY_MODE_NONE = 0, /* * 不认证 */ TLS_VERIFY_MODE_SERVER, /* * 认证服务端 */ TLS_VERIFY_MODE_CLIENT, /* * 认证客户端 */ TLS_VERIFY_MODE_BOTH, /* * 客户端,服务器双向认证 */ TLS_VERIFY_MODE_BUTT } ShareClientTlsVerifyMode; typedef struct { std::string caCertpath; /* * < ca根证书,最大长度256 */ std::string clientCertpath; /* * < 客户端证书,最大长度256 */ ShareClientTlsVerifyMode verifyMode; /* * < 校验模式 */ } ShareTlsInfo; #ifdef __cplusplus #if __cplusplus } #endif /* __cpluscplus */ #endif /* __cpluscplus */ #endif
父主题: SDK 接口头文件定义