IMP(低代码音视频工厂)SDK v1.5.0
IMP SDK API Reference Manual for Windows Platforms
meta_space.h
1#pragma once
2#include <memory>
3#include <string>
4#include <functional>
5
6#include "sdk_api_define.h"
7#include "meta_space_define.h"
8#include "meta/log_level.h"
9#include "i_room.h"
10#include "dps_error.h"
11#include "meta/env_type.h"
12
13META_SPACE_NAMESPACE_BEGIN
17struct MetaSpaceContext final {
21 std::string app_id;
25 std::string app_key;
29 std::string device_id;
33 std::string data_path;
34 int32_t env = (int32_t) meta::EnvType::ENV_PRE_RELEASE;
35};
39struct TokenInfo final {
43 std::string access_token = "";
47 std::string refresh_token = "";
48
49 TokenInfo(std::string access_token_,
50 std::string refresh_token_)
51 : access_token(std::move(access_token_))
52 , refresh_token(std::move(refresh_token_))
53 {}
54
55 TokenInfo() {}
56};
57
61class MetaSpace {
62public:
63 virtual ~MetaSpace() {};
64 META_SPACE_API static std::shared_ptr<MetaSpace> GetInstance();
65
72 virtual void Init(MetaSpaceContext ctx, const std::function<void()>& on_success, const std::function<void(const ::alibaba::dps::DPSError & error_msg)>& on_fail) = 0;
76 virtual void Uninit() = 0;
84 virtual void Login(const std::string & user_id, const TokenInfo & token_info, std::function<void()> on_success, std::function<void(const ::alibaba::dps::DPSError & error_msg)> on_fail) = 0;
85
92 virtual void Logout(const std::string & user_id, std::function<void()> on_success, std::function<void(const ::alibaba::dps::DPSError & error_msg)> on_fail) = 0;
93
99 virtual std::shared_ptr<IRoom> GetRoomInstance(const std::string & room_id) = 0;
105 virtual void SetLogHandler(alibaba::meta::LogLevel log_level, const std::function<void(alibaba::meta::LogLevel log_level, const std::string & log_content)>& on_log) = 0;
106};
107
108META_SPACE_NAMESPACE_END
109
SDK对外接口
Definition: meta_space.h:61
virtual std::shared_ptr< IRoom > GetRoomInstance(const std::string &room_id)=0
获取room的管理接口
virtual void Login(const std::string &user_id, const TokenInfo &token_info, std::function< void()> on_success, std::function< void(const ::alibaba::dps::DPSError &error_msg)> on_fail)=0
登录,在登录之后,RPC调用和PUSh才正常工作
virtual void Logout(const std::string &user_id, std::function< void()> on_success, std::function< void(const ::alibaba::dps::DPSError &error_msg)> on_fail)=0
登出
virtual void SetLogHandler(alibaba::meta::LogLevel log_level, const std::function< void(alibaba::meta::LogLevel log_level, const std::string &log_content)> &on_log)=0
设置日志回调
virtual void Uninit()=0
反初始化
virtual void Init(MetaSpaceContext ctx, const std::function< void()> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error_msg)> &on_fail)=0
初始化sdk
SDK初始化上下文
Definition: meta_space.h:17
std::string app_key
app_key,从控制台获取
Definition: meta_space.h:25
std::string data_path
data_path,日志,用户数据保存目录
Definition: meta_space.h:33
std::string app_id
app_id,从控制台获取
Definition: meta_space.h:21
std::string device_id
device_id,设备号,
Definition: meta_space.h:29
登录Token
Definition: meta_space.h:39
std::string refresh_token
刷新token
Definition: meta_space.h:47
std::string access_token
登录token
Definition: meta_space.h:43