更新时间: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 接口头文件定义