floo::BMXGroupServiceListener

群组变化监听者

#include <bmx_group_service_listener.h>

Public Functions

Name
BMXGroupServiceListener()
构造函数
virtual ~BMXGroupServiceListener()
析构函数
virtual void onGroupCreate(BMXGroupPtr group)
多设备同步创建群组
virtual void onGroupListUpdate(const BMXGroupList & list)
群列表更新了
virtual void onGroupJoined(BMXGroupPtr group)
加入了某群
virtual void onGroupLeft(BMXGroupPtr group, const std::string & reason)
退出了某群
virtual void onInvitated(int64_t groupId, int64_t inviter, const std::string & message)
收到入群邀请
virtual void onInvitationAccepted(BMXGroupPtr group, int64_t inviteeId)
入群邀请被接受
virtual void onInvitationDeclined(BMXGroupPtr group, int64_t inviteeId, const std::string & reason)
入群申请被拒绝
virtual void onApplied(BMXGroupPtr group, int64_t applicantId, const std::string & message)
收到入群申请
virtual void onApplicationAccepted(BMXGroupPtr group, int64_t approver)
入群申请被接受
virtual void onApplicationDeclined(BMXGroupPtr group, int64_t approver, const std::string & reason)
入群申请被拒绝
virtual void onMembersBanned(BMXGroupPtr group, const std::vector< int64_t > & members, int64_t duration)
群成员被禁言
virtual void onMembersUnbanned(BMXGroupPtr group, const std::vector< int64_t > & members)
群成员被解除禁言
virtual void onMemberJoined(BMXGroupPtr group, int64_t memberId, int64_t inviter)
加入新成员
virtual void onMemberLeft(BMXGroupPtr group, int64_t memberId, const std::string & reason)
群成员退出
virtual void onAdminsAdded(BMXGroupPtr group, const std::vector< int64_t > & members)
添加了新管理员
virtual void onAdminsRemoved(BMXGroupPtr group, const std::vector< int64_t > & members, const std::string & reason)
移除了管理员
virtual void onOwnerAssigned(BMXGroupPtr group)
成为群主
virtual void onGroupInfoUpdate(BMXGroupPtr group, BMXGroup::UpdateInfoType type)
群组信息变更
virtual void onMemberChangeNickName(BMXGroupPtr group, int64_t memberId, const std::string & nickName)
群成员更改群内昵称
virtual void onAnnouncementUpdate(BMXGroupPtr group, BMXGroup::AnnouncementPtr announcement)
收到群公告
virtual void onSharedFileUploaded(BMXGroupPtr group, BMXGroup::SharedFilePtr sharedFile)
收到共享文件
virtual void onSharedFileDeleted(BMXGroupPtr group, BMXGroup::SharedFilePtr sharedFile)
删除了共享文件
virtual void onSharedFileUpdated(BMXGroupPtr group, BMXGroup::SharedFilePtr sharedFile)
共享文件更新文件名
virtual void onBlockListAdded(BMXGroupPtr group, const std::vector< int64_t > & members)
添加黑名单
virtual void onBlockListRemoved(BMXGroupPtr group, const std::vector< int64_t > & members)
删除黑名单
virtual void onGroupListUpdate()
客户端从服务器拉取到新群组时触发,用于用户群组列表更新,从SDK调用本地获取群组即可取得全部成员信息
void registerGroupService(BMXGroupService * service)
注册BMXGroupServiceListener绑定到的BMXGroupService(SDK内部自动注册)

Protected Attributes

Name
BMXGroupService * mService

Public Functions Documentation

function BMXGroupServiceListener

inline BMXGroupServiceListener()

构造函数

Example:

function ~BMXGroupServiceListener

inline virtual ~BMXGroupServiceListener()

析构函数

Example:

function onGroupCreate

inline virtual void onGroupCreate(
    BMXGroupPtr group
)

多设备同步创建群组

Parameters:

  • group 新创建的群组

Example:

function onGroupListUpdate

inline virtual void onGroupListUpdate(
    const BMXGroupList & list
)

群列表更新了

Parameters:

  • list 更新的群组列表

Example:

function onGroupJoined

inline virtual void onGroupJoined(
    BMXGroupPtr group
)

加入了某群

Parameters:

  • group 加入的群组

Example:

void GroupListener::onGroupJoined(BMXGroupPtr group) {
  draw_notify(notifyWindow);
  mvwaddstr(notifyWindow, 1, 1, "GroupListener onGroupJoined");
  mvwaddstr(notifyWindow, 2, 1, std::to_string(group->groupId()).c_str());
  touchwin(stdscr);
  refresh();

function onGroupLeft

inline virtual void onGroupLeft(
    BMXGroupPtr group,
    const std::string & reason
)

退出了某群

Parameters:

  • group 退出的群组
  • reason 退出原因

Example:

void GroupListener::onGroupLeft(BMXGroupPtr group, const std::string& reason) {
  draw_notify(notifyWindow);
  mvwaddstr(notifyWindow, 1, 1, "GroupListener onGroupLeft");
  mvwaddstr(notifyWindow, 2, 1, std::to_string(group->groupId()).c_str());
  mvwaddstr(notifyWindow, 3, 1, reason.c_str());
  touchwin(stdscr);
  refresh();

function onInvitated

inline virtual void onInvitated(
    int64_t groupId,
    int64_t inviter,
    const std::string & message
)

收到入群邀请

Parameters:

  • groupId 邀请进入的群组id
  • inviter 邀请者id
  • message 邀请原因

Example:

function onInvitationAccepted

inline virtual void onInvitationAccepted(
    BMXGroupPtr group,
    int64_t inviteeId
)

入群邀请被接受

Parameters:

  • group 邀请被同意的群组
  • inviteeId 被邀请者id

Example:

function onInvitationDeclined

inline virtual void onInvitationDeclined(
    BMXGroupPtr group,
    int64_t inviteeId,
    const std::string & reason
)

入群申请被拒绝

Parameters:

  • group 邀请被拒绝的群组
  • inviteeId 被邀请者id
  • reason 拒绝原因

Example:

function onApplied

inline virtual void onApplied(
    BMXGroupPtr group,
    int64_t applicantId,
    const std::string & message
)

收到入群申请

Parameters:

  • group 收到入群申请的群组
  • applicantId 申请者id
  • message 申请原因

Example:

function onApplicationAccepted

inline virtual void onApplicationAccepted(
    BMXGroupPtr group,
    int64_t approver
)

入群申请被接受

Parameters:

  • group 入群申请被接受的群组
  • approver 申请的批准者

Example:

void GroupListener::onApplicationAccepted(BMXGroupPtr group, int64_t approver) {
  draw_notify(notifyWindow);
  mvwaddstr(notifyWindow, 1, 1, "GroupListener onApplicationAccepted");
  mvwaddstr(notifyWindow, 2, 1, std::to_string(group->groupId()).c_str());
  mvwaddstr(notifyWindow, 3, 1, std::to_string(approver).c_str());
  touchwin(stdscr);
  refresh();

function onApplicationDeclined

inline virtual void onApplicationDeclined(
    BMXGroupPtr group,
    int64_t approver,
    const std::string & reason
)

入群申请被拒绝

Parameters:

  • group 入群申请被拒绝的群组
  • approver 申请的批准者
  • reason 拒绝的原因

Example:

void GroupListener::onApplicationDeclined(BMXGroupPtr group, int64_t approver, const std::string& reason) {
  draw_notify(notifyWindow);
  mvwaddstr(notifyWindow, 1, 1, "GroupListener onApplicationDeclined");
  mvwaddstr(notifyWindow, 2, 1, std::to_string(group->groupId()).c_str());
  mvwaddstr(notifyWindow, 3, 1, std::to_string(approver).c_str());
  mvwaddstr(notifyWindow, 4, 1, reason.c_str());
  touchwin(stdscr);
  refresh();

function onMembersBanned

inline virtual void onMembersBanned(
    BMXGroupPtr group,
    const std::vector< int64_t > & members,
    int64_t duration
)

群成员被禁言

Parameters:

  • group 群成员被禁言的群组
  • members 被禁言的群成员id列表
  • duration 禁言时长

Example:

function onMembersUnbanned

inline virtual void onMembersUnbanned(
    BMXGroupPtr group,
    const std::vector< int64_t > & members
)

群成员被解除禁言

Parameters:

  • group 群成员被解除禁言的群组
  • members 被解除禁言的群成员id列表

Example:

function onMemberJoined

inline virtual void onMemberJoined(
    BMXGroupPtr group,
    int64_t memberId,
    int64_t inviter
)

加入新成员

Parameters:

  • group 有成员加入的群组
  • memberId 加入成员的id
  • inviter 邀请者id

Example:

function onMemberLeft

inline virtual void onMemberLeft(
    BMXGroupPtr group,
    int64_t memberId,
    const std::string & reason
)

群成员退出

Parameters:

  • group 有成员退出的群组
  • memberId 退出的群成员id
  • reason 退出的原因

Example:

function onAdminsAdded

inline virtual void onAdminsAdded(
    BMXGroupPtr group,
    const std::vector< int64_t > & members
)

添加了新管理员

Parameters:

  • group 发生添加新管理员的群组
  • members 被提升为管理员的成员列表

Example:

function onAdminsRemoved

inline virtual void onAdminsRemoved(
    BMXGroupPtr group,
    const std::vector< int64_t > & members,
    const std::string & reason
)

移除了管理员

Parameters:

  • group 发生移除管理员的群组
  • members 被移除了管理员的成员列表
  • reason 被移除的原因

Example:

function onOwnerAssigned

inline virtual void onOwnerAssigned(
    BMXGroupPtr group
)

成为群主

Parameters:

  • group 被转让为群主的群组

Example:

function onGroupInfoUpdate

inline virtual void onGroupInfoUpdate(
    BMXGroupPtr group,
    BMXGroup::UpdateInfoType type
)

群组信息变更

Parameters:

  • group 群信息发生变更的群组
  • type 发生变更的群信息类型

Example:

function onMemberChangeNickName

inline virtual void onMemberChangeNickName(
    BMXGroupPtr group,
    int64_t memberId,
    const std::string & nickName
)

群成员更改群内昵称

Parameters:

  • group 发生群成员变更群昵称的群组
  • memberId 变更群昵称的群成员id
  • nickName 变更后的群昵称

Example:

function onAnnouncementUpdate

inline virtual void onAnnouncementUpdate(
    BMXGroupPtr group,
    BMXGroup::AnnouncementPtr announcement
)

收到群公告

Parameters:

  • group 发生群公告更新的群组
  • announcement 变更后的最新的群更高

Example:

function onSharedFileUploaded

inline virtual void onSharedFileUploaded(
    BMXGroupPtr group,
    BMXGroup::SharedFilePtr sharedFile
)

收到共享文件

Parameters:

  • group 发生群共享文件上传的群组
  • sharedFile 新上传的群共享文件

Example:

function onSharedFileDeleted

inline virtual void onSharedFileDeleted(
    BMXGroupPtr group,
    BMXGroup::SharedFilePtr sharedFile
)

删除了共享文件

Parameters:

  • group 发生群共享文件删除的群组
  • sharedFile 被删除的群共享文件

Example:

function onSharedFileUpdated

inline virtual void onSharedFileUpdated(
    BMXGroupPtr group,
    BMXGroup::SharedFilePtr sharedFile
)

共享文件更新文件名

Parameters:

  • group 发生群共享文件更新的群组
  • sharedFile 更新的群共享文件

Example:

function onBlockListAdded

inline virtual void onBlockListAdded(
    BMXGroupPtr group,
    const std::vector< int64_t > & members
)

添加黑名单

Parameters:

  • group 添加黑名单的群组
  • members 添加的黑名单成员列表

Example:

function onBlockListRemoved

inline virtual void onBlockListRemoved(
    BMXGroupPtr group,
    const std::vector< int64_t > & members
)

删除黑名单

Parameters:

  • group 删除黑名单的群组
  • members 删除的黑名单成员列表

Example:

function onGroupListUpdate

inline virtual void onGroupListUpdate()

客户端从服务器拉取到新群组时触发,用于用户群组列表更新,从SDK调用本地获取群组即可取得全部成员信息

Example:

function registerGroupService

inline void registerGroupService(
    BMXGroupService * service
)

注册BMXGroupServiceListener绑定到的BMXGroupService(SDK内部自动注册)

Parameters:

Protected Attributes Documentation

variable mService

BMXGroupService * mService;

Example:


Updated on 2022-01-26 at 17:20:40 +0800

© 2019-2023 美信拓扑 | 官网 该文件修订时间: 2023-08-09 14:48:15

results matching ""

    No results matching ""