Windows(C++)[v1.7.5.0]
PanoGroup.h
1
2#pragma once
3
4#include "PanoRtcDefs.h"
5
6PANORTC_NS_BEGIN
7
9{
10 ActionType type;
11 uint64_t userId{0};
12 const char* userData{nullptr};
13};
14
22{
23public:
24 class Callback;
32 {
36 const char* userData{ nullptr };
37 };
38
53 virtual QResult setCallback(Callback *callback) = 0;
70 virtual QResult joinGroup(const char *groupId, const JoinParams &param) = 0;
85 virtual QResult subscribeGroup(const char *groupId) = 0;
100 virtual QResult unsubscribeGroup(const char *groupId) = 0;
115 virtual QResult leaveGroup(const char *groupId) = 0;
134 virtual QResult inviteGroupUsers(const char *groupId, uint64_t *users, int count) = 0;
149 virtual QResult dismissGroup(const char *groupId) = 0;
164 virtual QResult setDefaultGroup(const char *groupId) = 0;
165
180 virtual QResult observeGroup(const char *groupId) = 0;
195 virtual QResult unobserveGroup(const char *groupId) = 0;
222
223 enum class State
224 {
225 Idle,
226 Joined,
227 Error
228 };
229
237 {
238 public:
251 virtual void onGroupStateChanged(const char *groupId, State state, QResult reason) {}
264 virtual void onGroupUserChanged(const char *groupId, GroupUserAction *users, int count) {}
275 virtual void onGroupInviteIndication(const char *groupId, uint64_t fromUserId) {}
286 virtual void onGroupDismissConfirm(const char *groupId, QResult result) {}
295 virtual void onGroupDefaultChanged(const char *groupId) {}
306 virtual void onGroupObserveConfirm(const char *groupId, QResult result) {}
307
308 virtual ~Callback() {};
309 };
310
311protected:
312 virtual ~PanoGroup() {}
313};
314
315PANORTC_NS_END
ActionType
操作类型
Definition: PanoRtcDefs.h:1227
QResult
返回值
Definition: PanoRtcDefs.h:54
PanoGroup 的回调函数,在使用 PanoGroup 之前必须要设置回调以获取事件通知。
Definition: PanoGroup.h:237
virtual void onGroupDefaultChanged(const char *groupId)
默认分组变更的通知
Definition: PanoGroup.h:295
virtual void onGroupInviteIndication(const char *groupId, uint64_t fromUserId)
用户分组邀请的通知
Definition: PanoGroup.h:275
virtual void onGroupUserChanged(const char *groupId, GroupUserAction *users, int count)
分组用户变更通知
Definition: PanoGroup.h:264
virtual void onGroupObserveConfirm(const char *groupId, QResult result)
观察分组事件成功与否的通知
Definition: PanoGroup.h:306
virtual void onGroupDismissConfirm(const char *groupId, QResult result)
解散分组成功与否的通知
Definition: PanoGroup.h:286
virtual void onGroupStateChanged(const char *groupId, State state, QResult reason)
分组状态变更的通知
Definition: PanoGroup.h:251
PanoGroup, 分组服务核心接口
Definition: PanoGroup.h:22
virtual QResult joinGroup(const char *groupId, const JoinParams &param)=0
加入分组。
virtual QResult leaveGroup(const char *groupId)=0
离开分组。
virtual QResult setCallback(Callback *callback)=0
设置分组服务的回调。
virtual QResult unobserveAllGroups()=0
取消观察所有分组的事件。
virtual QResult observeGroup(const char *groupId)=0
观察指定分组的事件。调用成功后可在未加入分组的情况下接收分组事件。
virtual QResult unobserveGroup(const char *groupId)=0
取消观察指定分组的事件。
virtual QResult setDefaultGroup(const char *groupId)=0
设置默认分组。在音频自动订阅启用的情况下,默认分组设置后新用户加入频道会自动加入和订阅默认分组。
virtual QResult dismissGroup(const char *groupId)=0
解散分组。
virtual QResult inviteGroupUsers(const char *groupId, uint64_t *users, int count)=0
邀请用户加入分组。
virtual QResult subscribeGroup(const char *groupId)=0
订阅分组。
virtual QResult observeAllGroups()=0
观察所有分组的事件,包括后续创建的分组。调用成功后可在未加入分组的情况下接收分组事件。
virtual QResult unsubscribeGroup(const char *groupId)=0
取消订阅分组。
Definition: PanoGroup.h:9
分组配置参数,用于加入分组
Definition: PanoGroup.h:32
const char * userData
Definition: PanoGroup.h:36