10 #include "cbe/delegate/KickDelegate.h"
11 #include "cbe/delegate/BanDelegate.h"
12 #include "cbe/delegate/UnBanDelegate.h"
14 #include "cbe/delegate/Error.h"
15 #include "cbe/util/ErrorInfo.h"
16 #include "cbe/util/Exception.h"
17 #include "cbe/util/Optional.h"
20 using MemberPtr = std::shared_ptr<CBI::Member>;
21 class GroupEventProtocol;
22 using GroupDelegatePtr = std::shared_ptr<GroupEventProtocol>;
33 std::string applicationComment{};
38 : userId{userId}, alias{std::move(alias)},
39 applicationComment{std::move(applicationComment)}, date{date} {}
72 using KickException = delegate::KickDelegate::Exception;
87 std::string kickComment);
117 std::string kickComment,
148 using BanException = delegate::BanDelegate::Exception;
220 using UnBanException = delegate::UnBanDelegate::Exception;
308 explicit operator bool()
const;
312 std::shared_ptr<Impl> pImpl{};
316 Member(CBI::MemberPtr cbiPeerPtr);
317 CBI::Member& getCbiPeer()
const;
A group of members.
Definition: Group.h:42
A of member of a Group.
Definition: Member.h:45
Member(cbe::DefaultCtor)
Default constructor.
cbe::Visibility visibility() const
cbe::MemberId memberId() const
delegate::BanDelegatePtr BanDelegatePtr
Definition: Member.h:128
void unBan(UnBanDelegatePtr delegate)
cbe::GroupId groupId() const
delegate::KickDelegatePtr KickDelegatePtr
Definition: Member.h:53
cbe::MemberBanInfo getMemberBanInfo()
Gets the member ban info map.
delegate::UnBanDelegatePtr UnBanDelegatePtr
Definition: Member.h:202
void kick(std::string kickComment, KickDelegatePtr delegate)
void ban(std::string banComment, BanDelegatePtr delegate)
User role information.
Definition: Role.h:34
Convenience type that bundles all parameters passed to method cbe::delegate::BanDelegate::onBanSucces...
Definition: BanDelegate.h:76
Convenience type that bundles all parameters passed to method cbe::delegate::KickDelegate::onKickSucc...
Definition: KickDelegate.h:76
Convenience type that bundles all parameters passed to method cbe::delegate::UnBanDelegate::onUnBanSu...
Definition: UnBanDelegate.h:75
Class template Optional manages an optional contained value - i.e., a value that is either present or...
Definition: Optional.h:20
std::shared_ptr< KickDelegate > KickDelegatePtr
Definition: KickDelegate.h:69
std::shared_ptr< UnBanDelegate > UnBanDelegatePtr
Definition: UnBanDelegate.h:68
std::shared_ptr< BanDelegate > BanDelegatePtr
Definition: BanDelegate.h:69
Root namespace for the CloudBackend SDK API.
Definition: Account.h:22
std::map< std::pair< cbe::MemberId, cbe::MemberId >, std::pair< cbe::Date, std::string > > MemberBanInfo
Map of a pair of members, associated with ban information.
Definition: Types.h:441
std::uint64_t UserId
Uniquely identifies the CBE user number.
Definition: Types.h:126
Visibility
Definition: Types.h:375
DefaultCtor
Default constructor marker.
Definition: Types.h:204
std::uint64_t GroupId
Uniquely identifies the Group.
Definition: Types.h:84
std::uint64_t MemberId
Represents the cbe::Group membership id.
Definition: Types.h:92
std::uint64_t Date
A time-stamp in the unix epoch format.
Definition: Types.h:80
Definition: BanDelegate.h:45
Definition: KickDelegate.h:45
Definition: UnBanDelegate.h:45