floo::BMXGroup#
Group
#include <bmx_group.h>
Inherits from BMXBaseObject
Public Types#
| Name | |
|---|---|
| enum class | InvitationStatus { Pending, Accepted, Declined} Group invitation state |
| enum class | ApplicationStatus { Pending, Accepted, Declined} Group application state |
| enum class | MsgPushMode { All, None, AdminOrAt, Admin, At} Message notification type |
| enum class | ModifyMode { AdminOnly, Open} Group information modification mode |
| enum class | JoinAuthMode { Open, NeedApproval, RejectAll} Group joining authentication mode |
| enum class | InviteMode { AdminOnly, Open} Group invitation mode |
| enum class | UpdateInfoType { UnKnown, Name, Description, Avatar, Owner, Ext, NickName, ModifyMode, JoinAuthMode, InviteMode, MsgPushMode, MsgMuteMode, ReadAckMode, HistoryVisibleMode, BanExpireTime} Group information update type |
| enum class | GroupStatus { Normal, Destroyed} Grouping state |
| enum class | MsgMuteMode { None, MuteNotification, MuteChat} Group message blocking mode |
| enum class | MemberRoleType { GroupMember, GroupAdmin, GroupOwner, NotGroupMember} |
| enum class | GroupType { Private, Public, Chatroom} |
| typedef std::shared_ptr< [Member] > | MemberPtr |
| typedef std::vector< MemberPtr > | MemberList |
| typedef std::shared_ptr< [BannedMember] > | BannedMemberPtr |
| typedef std::vector< BannedMemberPtr > | BannedMemberList |
| typedef std::shared_ptr< [SharedFile] > | SharedFilePtr |
| typedef std::vector< SharedFilePtr > | SharedFileList |
| typedef std::shared_ptr< [Announcement] > | AnnouncementPtr |
| typedef std::vector< AnnouncementPtr > | AnnouncementList |
| typedef std::shared_ptr< [Invitation] > | InvitationPtr |
| typedef std::vector< InvitationPtr > | InvitationList |
| typedef std::shared_ptr< [Application] > | ApplicationPtr |
| typedef std::vector< ApplicationPtr > | ApplicationList |
Public Functions#
| Name | |
|---|---|
| virtual | ~BMXGroup() Destructor |
| virtual int64_t | groupId() =0 Group Id |
| virtual GroupType | groupType() =0 Type of the current group (Private, Public, Chatroom) |
| virtual const std::string & | myNickname() =0 Group member nickname of mine |
| virtual const std::string & | name() =0 Group name |
| virtual const std::string & | description() =0 Group description |
| virtual std::string | avatarRatelUrl() =0 Url for group avatar Ratel server |
| virtual std::string | avatarUrl() =0 Url for group avatar server |
| virtual std::string | avatarPath() =0 Local path of downloaded group avatar |
| virtual std::string | avatarThumbnailUrl() =0 Url for group avatar thumbnail server |
| virtual std::string | avatarThumbnailPath() =0 Local path of downloaded group avatar thumbnail |
| virtual int64_t | createTime() =0 Group creation time |
| virtual const JSON & | extension() =0 Group extension information |
| virtual int64_t | ownerId() =0 Group Owner |
| virtual int | capacity() =0 Maximum number of group members |
| virtual int | membersCount() =0 Number of group members, including Owner, Admins and Members |
| virtual int | adminsCount() =0 Number of group admins |
| virtual int | blockListSize() =0 Blacklisted user-number |
| virtual int | bannedListSize() =0 Banned user-number |
| virtual int | sharedFilesCount() =0 Shared file-number in group |
| virtual int64_t | latestAnnouncementId() =0 Latest group announcement id |
| virtual MsgPushMode | msgPushMode() =0 Group message notification type |
| virtual ModifyMode | modifyMode() =0 Group information modification mode |
| virtual JoinAuthMode | joinAuthMode() =0 Join approval mode |
| virtual InviteMode | inviteMode() =0 Group invitation mode |
| virtual MsgMuteMode | msgMuteMode() =0 Group message blocking mode |
| virtual GroupStatus | groupStatus() =0 state of the current group. (Normal, Destroyed) |
| virtual bool | isMember() =0 Deprecated use roleType instead. |
| virtual bool | enableReadAck() =0 Whether group message read acknowledgement feature enabled |
| virtual bool | historyVisible() =0 Whether to load and display the chat history |
| virtual MemberRoleType | roleType() =0 Type of a member role in group |
| virtual int64_t | banExpireTime() =0 Expiration time of banning all group members |
Protected Functions#
| Name | |
|---|---|
| BMXGroup() |
Public Types Documentation#
enum InvitationStatus#
| Enumerator | Value | Description |
|---|---|---|
| Pending | Request pending | |
| Accepted | Request accepted | |
| Declined | Request rejected |
Group invitation state
enum ApplicationStatus#
| Enumerator | Value | Description |
|---|---|---|
| Pending | Request pending | |
| Accepted | Request accepted | |
| Declined | Request rejected |
Group application state
enum MsgPushMode#
| Enumerator | Value | Description |
|---|---|---|
| All | Alert all group messages | |
| None | Do not alert any group message | |
| AdminOrAt | Alert Admins only, except @ messages | |
| Admin | Alert Admins only | |
| At | Alert @ messages only |
Message notification type
enum ModifyMode#
| Enumerator | Value | Description |
|---|---|---|
| AdminOnly | Admin only | |
| Open | Any group member can modify |
Group information update mode
enum JoinAuthMode#
| Enumerator | Value | Description |
|---|---|---|
| Open | No authentication required | |
| NeedApproval | Admin approval required | |
| RejectAll | All requests rejected |
Group joining authentication mode
enum InviteMode#
| Enumerator | Value | Description |
|---|---|---|
| AdminOnly | Only Admins can invite new group member | |
| Open | Anyone can invite new group member |
Group invitation mode
enum UpdateInfoType#
| Enumerator | Value | Description |
|---|---|---|
| UnKnown | Default initialization value | |
| Name | Modify group name | |
| Description | Modify group description | |
| Avatar | Modify group avatar | |
| Owner | Modify group Owner | |
| Ext | Modify group extension | |
| NickName | Modify group member nickname | |
| ModifyMode | Modify group information mode | |
| JoinAuthMode | Modify group authentication mode | |
| InviteMode | Modify group invitation mode | |
| MsgPushMode | Modify group pushed message type | |
| MsgMuteMode | Modify whether to alert message | |
| ReadAckMode | Whether group message read receipts are enabled | |
| HistoryVisibleMode | Whether group chat history is visible to new members | |
| BanExpireTime | Expiration time of banning all group members |
Group information update type
enum GroupStatus#
| Enumerator | Value | Description |
|---|---|---|
| Normal | Group state is normal | |
| Destroyed | Group destroyed |
Grouping state
enum MsgMuteMode#
| Enumerator | Value | Description |
|---|---|---|
| None | No blocking | |
| MuteNotification | Block local message notification | |
| MuteChat | Block message, no message received |
Group message blocking mode
enum MemberRoleType#
| Enumerator | Value | Description |
|---|---|---|
| GroupMember | Group members | |
| GroupAdmin | Group Admin | |
| GroupOwner | Group Owner | |
| NotGroupMember | Non-group member |
enum GroupType#
| Enumerator | Value | Description |
|---|---|---|
| Private | Private group | |
| Public | Public group (other sub-type groups are not released yet) | |
| Chatroom | Chatroom |
typedef MemberPtr#
typedef std::shared_ptr<Member> floo::BMXGroup::MemberPtr;
typedef MemberList#
typedef std::vector<MemberPtr> floo::BMXGroup::MemberList;
typedef BannedMemberPtr#
typedef std::shared_ptr<BannedMember> floo::BMXGroup::BannedMemberPtr;
typedef BannedMemberList#
typedef std::vector<BannedMemberPtr> floo::BMXGroup::BannedMemberList;
typedef SharedFilePtr#
typedef std::shared_ptr<SharedFile> floo::BMXGroup::SharedFilePtr;
typedef SharedFileList#
typedef std::vector<SharedFilePtr> floo::BMXGroup::SharedFileList;
typedef AnnouncementPtr#
typedef std::shared_ptr<Announcement> floo::BMXGroup::AnnouncementPtr;
typedef AnnouncementList#
typedef std::vector<AnnouncementPtr> floo::BMXGroup::AnnouncementList;
typedef InvitationPtr#
typedef std::shared_ptr<Invitation> floo::BMXGroup::InvitationPtr;
typedef InvitationList#
typedef std::vector<InvitationPtr> floo::BMXGroup::InvitationList;
typedef ApplicationPtr#
typedef std::shared_ptr<Application> floo::BMXGroup::ApplicationPtr;
typedef ApplicationList#
typedef std::vector<ApplicationPtr> floo::BMXGroup::ApplicationList;
Public Functions Documentation#
function ~BMXGroup#
inline virtual ~BMXGroup()
Destructor
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="~BMXGroup" %}{% endlanying_code_snippet %}
function groupId#
virtual int64_t groupId() =0
Group Id
Return: int64_t
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="groupId" %}{% endlanying_code_snippet %}
function groupType#
virtual GroupType groupType() =0
Type of the current group (Private, Public, Chatroom)
Return: GroupType
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="groupType" %}{% endlanying_code_snippet %}
function myNickname#
virtual const std::string & myNickname() =0
Group member nickname of mine
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="myNickname" %}{% endlanying_code_snippet %}
function name#
virtual const std::string & name() =0
Group name
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="name" %}{% endlanying_code_snippet %}
function description#
virtual const std::string & description() =0
Group description
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="description" %}{% endlanying_code_snippet %}
function avatarRatelUrl#
virtual std::string avatarRatelUrl() =0
Url for group avatar Ratel server
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="avatarRatelUrl" %}{% endlanying_code_snippet %}
function avatarUrl#
virtual std::string avatarUrl() =0
Url for group avatar server
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="avatarUrl" %}{% endlanying_code_snippet %}
function avatarPath#
virtual std::string avatarPath() =0
Local path of downloaded group avatar
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="avatarPath" %}{% endlanying_code_snippet %}
function avatarThumbnailUrl#
virtual std::string avatarThumbnailUrl() =0
Url for group avatar thumbnail server
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="avatarThumbnailUrl" %}{% endlanying_code_snippet %}
function avatarThumbnailPath#
virtual std::string avatarThumbnailPath() =0
Local path of downloaded group avatar thumbnail
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="avatarThumbnailPath" %}{% endlanying_code_snippet %}
function createTime#
virtual int64_t createTime() =0
Group creation time
Return: int64_t
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="createTime" %}{% endlanying_code_snippet %}
function extension#
virtual const JSON & extension() =0
Group extension information
Return: JSON(std::string)
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="extension" %}{% endlanying_code_snippet %}
function ownerId#
virtual int64_t ownerId() =0
Group Owner
Return: int64_t
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="ownerId" %}{% endlanying_code_snippet %}
function capacity#
virtual int capacity() =0
Maximum number of group members
Return: int
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="capacity" %}{% endlanying_code_snippet %}
function membersCount#
virtual int membersCount() =0
Number of group members, including Owner, Admins and Members
Return: int
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="membersCount" %}{% endlanying_code_snippet %}
function adminsCount#
virtual int adminsCount() =0
Number of group admins
Return: int
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="adminsCount" %}{% endlanying_code_snippet %}
function blockListSize#
virtual int blockListSize() =0
Blacklisted user-number
Return: int
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="blockListSize" %}{% endlanying_code_snippet %}
function bannedListSize#
virtual int bannedListSize() =0
Banned user-number
Return: int
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="bannedListSize" %}{% endlanying_code_snippet %}
function sharedFilesCount#
virtual int sharedFilesCount() =0
Shared file-number in group
Return: int
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="sharedFilesCount" %}{% endlanying_code_snippet %}
function latestAnnouncementId#
virtual int64_t latestAnnouncementId() =0
Latest group announcement id
Return: int64_t
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="latestAnnouncementId" %}{% endlanying_code_snippet %}
function msgPushMode#
virtual MsgPushMode msgPushMode() =0
Group message notification type
Return: MsgPushMode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="msgPushMode" %}{% endlanying_code_snippet %}
function modifyMode#
virtual ModifyMode modifyMode() =0
Group information update mode
Return: ModifyMode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="modifyMode" %}{% endlanying_code_snippet %}
function joinAuthMode#
virtual JoinAuthMode joinAuthMode() =0
Join approval mode
Return: JoinAuthMode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="joinAuthMode" %}{% endlanying_code_snippet %}
function inviteMode#
virtual InviteMode inviteMode() =0
Group invitation mode
Return: InviteMode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="inviteMode" %}{% endlanying_code_snippet %}
function msgMuteMode#
virtual MsgMuteMode msgMuteMode() =0
Group message blocking mode
Return: MsgMuteMode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="msgMuteMode" %}{% endlanying_code_snippet %}
function groupStatus#
virtual GroupStatus groupStatus() =0
state of the current group. (Normal, Destroyed)
Return: GroupStatus
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="groupStatus" %}{% endlanying_code_snippet %}
function isMember#
virtual bool isMember() =0
Deprecated use roleType instead.
Return: bool
Whether the current user is a group member
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="isMember" %}{% endlanying_code_snippet %}
function enableReadAck#
virtual bool enableReadAck() =0
Whether group message read receipts are enabled
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="enableReadAck" %}{% endlanying_code_snippet %}
function historyVisible#
virtual bool historyVisible() =0
Whether to load and display the chat history
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="historyVisible" %}{% endlanying_code_snippet %}
function roleType#
virtual MemberRoleType roleType() =0
Type of a member role in group
Return: MemberRoleType
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="roleType" %}{% endlanying_code_snippet %}
function banExpireTime#
virtual int64_t banExpireTime() =0
Expiration time of banning all group members
Return: int64_t
Protected Functions Documentation#
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="banExpireTime" %}{% endlanying_code_snippet %}
function BMXGroup#
inline BMXGroup()
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroup",function="BMXGroup" %}{% endlanying_code_snippet %}
Updated on 2022-01-26 at 17:20:40 +0800