NERoom SDK V1.44.0
载入中...
搜索中...
未找到
room_kit_interface.h
浏览该文件的文档.
1// Copyright (c) 2022 NetEase, Inc. All rights reserved.
2// Use of this source code is governed by a MIT license that can be
3// found in the LICENSE file.
4
11#ifndef ROOM_KIT_INTERFACE_H
12#define ROOM_KIT_INTERFACE_H
13
14#include <memory>
15#include <unordered_map>
16
18#include "base_type_defines.h"
21#include "room_kit_listener.h"
24
25namespace neroom {
36
44
48typedef struct tagNEIMServerConfig {
50 int negoKeyNeca{1};
51 int commNeca{1};
52 std::string lbs;
53 std::list<std::string> lbsBackupAddress;
54 std::string nosLbs;
55 std::string link;
56 std::string linkIpv6;
57 std::string nosUploader;
58 std::string nosUploaderHost;
60 std::string negoKeyNecaKeyParta;
61 std::string negoKeyNecaKeyPartb{"10001"};
63 std::string nosDownloader;
64 std::vector<std::string> nosAccelerateHostList;
65 std::string nosAccelerate;
66 std::string probeIpv4Url;
67 std::string probeIpv6Url;
68 std::list<std::string> httpDnsServerInterface;
69 bool httpsEnabled = true;
71
75typedef struct tagNERtcServerConfig {
76 std::string lbsServer;
77 std::string channelServer;
78 std::string statisticsServer;
79 std::string roomServer;
80 std::string compatServer;
81 std::string nosLbsServer;
82 std::string nosUploadSever;
83 std::string nosTokenServer;
84 std::string cloudProxyServer;
86 std::string quicProxyServer;
87 std::string mediaProxyServer;
90 bool useIPv6 = false;
92
106
116
121 bool nosAntiLeech = false;
123 std::string canvasBgColor = "rgba(255, 255, 255, 255)";
125
129typedef struct tagNERoomKitOptions {
130 std::string appKey;
131 std::string logPath;
133 bool reuseIM = false;
134 bool useAssetServerConfig = false;
136 bool supportColorSpace = false;
138 std::string serverUrl;
139 std::unordered_map<std::string, std::string> extras;
142
146typedef struct tagNEDomainItem {
147 std::string domain = "";
149
153typedef struct tagNEDomainInfo {
154 long ttl = 0;
155 long updateTime = 0;
156 int racingLimit = 0;
157 long switchTimeout = 0;
158 std::list<NEDomainItem> domainList;
160
169
174public:
178 INERoomKit() = default;
179
183 virtual ~INERoomKit() = default;
184
191 virtual void initialize(const NERoomKitOptions& options, const NECallback<>& callback = NECallback<>()) = 0;
192
197 virtual void release() = 0;
198
203 virtual bool isInitialized() const = 0;
204
210 virtual NESDKVersions getSdkVersions() const = 0;
211
217 virtual int switchLanguage(NERoomLanguage language) = 0;
218
224
230
236
242
248
253 virtual void uploadLog(const NECallback<std::string>& callback) = 0;
254
260 virtual std::string getCurrentLogPath() = 0;
261
268
275
282 virtual void invokeMethod(const std::string& method, const std::string& parameters, const NECallback<>& callback) = 0;
283
289 virtual std::string getDeviceId() = 0;
290
295
301 virtual int switchDomain(const std::string& domain) = 0;
302
309 virtual NEDomainInfoResult getAvailableDomain(const std::string& appKey) = 0;
310
318 virtual void writeLog(const std::string& moduleName, int level, const std::string& content) = 0;
319};
320
321#ifdef __cplusplus
322extern "C" {
323#endif
329
334NEROOMKIT_INTERFACE_EXPORT void destroyNERoomKit();
335
336#ifdef __cplusplus
337}
338#endif
339
340} // namespace neroom
341
342#endif // ROOM_KIT_INTERFACE_H
登录服务接口文件
基本类型定义头文件
#define NEROOMKIT_INTERFACE_EXPORT
Kit 全局事件监听类
virtual void writeLog(const std::string &moduleName, int level, const std::string &content)=0
写日志
INERoomKit()=default
构造函数
virtual INEAuthService * getAuthService()=0
获取鉴权服务
virtual std::string getDeviceId()=0
获取device id
virtual int switchDomain(const std::string &domain)=0
切换SDK服务器地址
virtual void uploadLog(const NECallback< std::string > &callback)=0
上传 SDK 日志
virtual void initialize(const NERoomKitOptions &options, const NECallback<> &callback=NECallback<>())=0
初始化组件
virtual std::string getCurrentLogPath()=0
获取当前日志路径
virtual int switchLanguage(NERoomLanguage language)=0
切换语言
virtual NEDomainInfoResult getAvailableDomain(const std::string &appKey)=0
基于 AppKey 获取可用的服务器域名
virtual void invokeMethod(const std::string &method, const std::string &parameters, const NECallback<> &callback)=0
执行自定义方法
virtual void release()=0
反初始化组件
virtual INERoomService * getRoomService()=0
获取房间服务
virtual ~INERoomKit()=default
析构函数
virtual NESDKVersions getSdkVersions() const =0
查询版本号
virtual NENetworkType getNetworkType()=0
获取当前网络类型
virtual INENosService * getNosService()=0
获取nos服务
virtual void removeGlobalEventListener(INEGlobalEventListener *listener)=0
移除全局事件监听器
virtual void addGlobalEventListener(INEGlobalEventListener *listener)=0
添加全局事件监听器
virtual INEMessageChannelService * getMessageChannelService()=0
获取消息通道服务,提供房间内发送自定义消息能力
virtual INEExtensionService * getExtensionService()=0
获取扩展服务
virtual bool isInitialized() const =0
查询初始化状态
扩展服务头文件
消息服务接口文件
struct neroom::tagNERoomKitOptions NERoomKitOptions
组件初始化配置
struct neroom::tagNEServerConfig NEServerConfig
私有化配置
enum tagNERoomNetworkType { kConnectionUnknown=0, kConnectionEthernet=1, kConnectionWifi=2, kConnection2G=3, kConnection3G=4, kConnection4G=5, kConnectionNone=6 } NENetworkType
网络类型
struct neroom::tagNEWhiteboardServerConfig NEWhiteboardServerConfig
白板服务器配置
struct neroom::tagNEDomainItem NEDomainItem
域名条目
struct tagNESDKVersions { std::string imVersion; std::string rtcVersion; std::string whiteboardVersion; std::string roomKitVersion; } NESDKVersions
版本信息
NELogLevel
日志等级
struct neroom::tagNEDomainInfo NEDomainInfo
可用域名结果
enum class tagNERoomLanguage { kNEAutomatic, kNEChinese, kNEEnglish, kNEJapanese, } NERoomLanguage
语言类型
struct neroom::tagNERoomKitServerConfig NERoomKitServerConfig
RoomKit 服务器配置
struct neroom::tagNEIMServerConfig NEIMServerConfig
IM 服务器配置
std::function< void(int, const std::string &, const TResultParam &...)> NECallback
通用回调
struct neroom::tagNEDomainInfoResult NEDomainInfoResult
可用域名查询结果
struct neroom::tagNERtcServerConfig NERtcServerConfig
Rtc 服务器配置
struct neroom::tagNEWhiteBoardAppConfig NEWhiteBoardAppConfig
白板初始化配置
NOS服务头文件
全局事件监听头文件
房间服务接口头文件
std::list< NEDomainItem > domainList
std::list< std::string > httpDnsServerInterface
std::vector< std::string > nosAccelerateHostList
std::list< std::string > lbsBackupAddress
NEWhiteBoardAppConfig whiteBoardAppConfig
std::unordered_map< std::string, std::string > extras
NERoomKitServerConfig roomKitServerConfig
NEWhiteboardServerConfig whiteboardServerConfig
NERtcServerConfig rtcServerConfig