更新时间:2022-03-21 GMT+08:00
IShareServiceController.h
SDK API 和 通知定义文件
// // Huawei IdeaShare SDK Engine SDK // // Copyright (c) 2020 Huawei.io. All rights reserved. // #ifndef IDEA_ENGINE_H #define IDEA_ENGINE_HS #ifndef IDEA_SHARE_EXPORT #define IDEA_SHARE_EXPORT #endif #include "IServiceController.h" #include "IEventHandler.h" #include <string> #include <list> #include <atomic> #include "IdeaShareDef.h" using namespace std; namespace Huawei { namespace Idea { class IDEA_SHARE_API IShareEventHandler : public IEventHandler { public: virtual ~IShareEventHandler() {} /* Discover接口的回调接口 */ virtual void OnDiscoverResult(DiscoverResult* discoverResult) {} virtual void OnDiscoverFailed(ShareAppErr errorCode, std::string errorMsg) {} /* Connect接口的回调接口 */ virtual void OnConnectResult(DeviceInfo* deviceInfo) {} virtual void OnConnectFailed(ShareAppErr errorCode, std::string errorMsg) {} /* Disconnect接口的回调接口 */ virtual void OnDisconnectResult(int reason) {} virtual void OnDisconnectFailed(ShareAppErr errorCode, std::string errorMsg) {} /* StartSharing接口的回到接口 */ virtual void OnSharePlayResult() {} virtual void OnSharePlayFailed(ShareAppErr errorCode, std::string errorMsg) {} /* StopSharing接口的回调接口 */ virtual void OnShareStopResult(int reason) {} virtual void OnShareStopFailed(ShareAppErr errorCode, std::string errorMsg) {} /* GetRemoteServiceStatus接口的回调接口 */ virtual void OnGetRemoteServiceStatusResult(RemoteServiceStatus* remoteServiceStatus) {} virtual void OnGetRemoteServiceStatusFailed(ShareAppErr errorCode, std::string errorMsg) {} /* SetRemoteMicMute接口的回调接口 */ virtual void OnSetRemoteMicMuteResult(int result) {} virtual void OnSetRemoteMicMuteFailed(ShareAppErr errorCode, std::string errorMsg) {} /* SetRemoteSpeakerVolume接口的回调接口 */ virtual void OnSetRemoteSpeakerVolumeResult(int result) {} virtual void OnSetRemoteSpeakerVolumeFailed(ShareAppErr errorCode, std::string errorMsg) {} /* SetRemoteSpeakerMute接口的回调接口 */ virtual void OnSetRemoteSpeakerMuteResult(int result) {} virtual void OnSetRemoteSpeakerMuteFailed(ShareAppErr errorCode, std::string errorMsg) {} /* SetRemoteCameraMute接口的回调接口 */ virtual void OnSetRemoteCameraMuteResult(int result) {} virtual void OnSetRemoteCameraMuteFailed(ShareAppErr errorCode, std::string errorMsg) {} /* LeaveConference接口的回调接口 */ virtual void OnSetLeaveConferenceResult(int result) {} virtual void OnSetLeaveConferenceFailed(ShareAppErr errorCode, std::string errorMsg) {} /* EndConference接口的回调接口 */ virtual void OnSetEndConferenceResult(int result) {} virtual void OnSetEndConferenceFailed(ShareAppErr errorCode, std::string errorMsg) {} /* GetSDKLatestVersion接口的回调接口 */ virtual void OnGetSDKLatestVersionResult(std::string version) {} virtual void OnGetSDKLatestVersionFailed(ShareAppErr errorCode, std::string errorMsg) {} /* 大屏状态信息变化通知事件 */ virtual void OnRemoteServiceStatusChangedNotify(RemoteServiceStatus *remoteServiceStatus, int index) {} /* 当前IdeaHub会议状态事件上报接口 */ virtual void OnDevConfStateNotify(ConfSate confState, AuxState auxState) {} /* 投屏状态发生变化通知上报接口 */ virtual void OnShareStatusChangedNotify(ShareAppServerStatus status, ShareAppErr reason) {} /* 各种事件失败时统一会上报的接口 */ virtual void OnError(ShareAppErr errorCode, std::string errorMsg, void* extralInfo) {} }; class IDEA_SHARE_API ShareServiceController : public IServiceController { public: static ShareServiceController* GetInstance(); ~ShareServiceController(); /* 日志设置 */ int SetLog(const LogInfo &logInfo); /* TLS设置 */ int SetTLS(const ShareTlsInfo &tlsInfo); /* 初始化 */ int Create(const AppInfo &appInfo, IEventHandler* eventHandler); /* 去初始化 */ int Destory(); /* 设置投屏设备类型 */ int SetDeviceType(ShareDeviceType shareDeviceType); /* 设置投屏策略 */ int SetPolicy(const SharePolicy& sharePolicy); /* 投屏码解析ip请求 */ int Discover(std::string castCode, std::string address, int port); /* 连接 */ int Connect(list<std::string>addressList, int port, std::string password); /* 断开连接 */ int Disconnect(); /* 设置投屏对象 */ int SetDisplayScreen(ShareAppScreenType screenChoice); /* 开始投屏 */ int StartSharing(); /* 停止投屏 */ int StopSharing(); /* 获取远程服务状态信息 */ int GetRemoteServiceStatus(); /* 打开\关闭麦克风 */ int SetRemoteMicMute(bool isMute); /* 调节扬声器音量 */ int SetRemoteSpeakerVolume(int volume); /* 打开\关闭扬声器 */ int SetRemoteSpeakerMute(bool isSpeakerMute); /* 打开\关闭摄像机 */ int SetRemoteCameraMute(bool isCameraMute); /* 离开会议 */ int LeaveConference(); /* 结束会议 */ int EndConference(); /* 获取投屏状态 */ int GetShareStatus(); /* 获取SDK版本 */ std::string GetSDKVersion(); /* 获取最新的服务器版本信息 */ int GetSDKLatestVersion(); /* 全局事件回调 */ IShareEventHandler* mEventHandler; /* 友元函数 */ friend void ProcessNotifyCallback(uint32_t msgid, uint32_t param1, uint32_t param2, void *data); /* 全局回调*/ void NotifyCallback(uint32_t msgid, uint32_t param1, uint32_t param2, void *data); private: /* 私有构造方法*/ ShareServiceController(); /* 全局事件回调 */ static ShareServiceController *mControllerInstance; /* 是否正在共享 */ std::atomic<bool> m_IsSharing{ false }; }; } // namespace Idea }// namespace Huawei #endif
父主题: SDK 接口头文件定义