5 #ifndef INCLUDE_CBE_Role_H_
6 #define INCLUDE_CBE_Role_H_
12 #include "cbe/Types.h"
13 #include "cbe/delegate/AddRoleMemberDelegate.h"
14 #include "cbe/delegate/ListMembersDelegate.h"
15 #include "cbe/delegate/RemoveRoleMemberDelegate.h"
16 #include "cbe/Database.h"
18 #include "cbe/delegate/Error.h"
19 #include "cbe/util/ErrorInfo.h"
20 #include "cbe/util/Exception.h"
21 #include "util/Optional.h"
25 using RolePtr = std::shared_ptr<CBI::Role>;
74 using ListMembersException = delegate::ListMembersDelegate::Exception;
118 ListMembersError& error);
148 using AddRoleMemberException = delegate::AddRoleMemberDelegate::Exception;
192 AddRoleMemberError& error);
220 using RemoveRoleMemberException = delegate::RemoveRoleMemberDelegate::Exception;
264 RemoveRoleMemberError& error);
291 explicit operator bool()
const;
294 std::shared_ptr<Impl> pImpl{};
297 Role(CBI::RolePtr cbiPeerPtr);
298 CBI::Role& getCbiPeer()
const;
A group of members.
Definition: Group.h:42
User role information.
Definition: Role.h:34
void listMembers(ListMembersDelegatePtr delegate)
Lists the members of this role,.
delegate::AddRoleMemberDelegatePtr AddRoleMemberDelegatePtr
Definition: Role.h:128
void removeRoleMember(MemberId memberId, RemoveRoleMemberDelegatePtr delegate)
Removes a member to this role.
delegate::RemoveRoleMemberDelegatePtr RemoveRoleMemberDelegatePtr
Definition: Role.h:200
delegate::ListMembersDelegatePtr ListMembersDelegatePtr
Definition: Role.h:56
cbe::GroupId groupId() const
void addRoleMember(MemberId memberId, AddRoleMemberDelegatePtr delegate)
Adds a member to this role.
Role(cbe::DefaultCtor)
Default constructor.
Class template Optional manages an optional contained value - i.e., a value that is either present or...
Definition: Optional.h:20
std::shared_ptr< ListMembersDelegate > ListMembersDelegatePtr
Definition: ListMembersDelegate.h:68
std::shared_ptr< AddRoleMemberDelegate > AddRoleMemberDelegatePtr
Definition: AddRoleMemberDelegate.h:62
std::shared_ptr< RemoveRoleMemberDelegate > RemoveRoleMemberDelegatePtr
Definition: RemoveRoleMemberDelegate.h:62
Root namespace for the CloudBackend SDK API.
Definition: Account.h:22
std::uint64_t RoleId
Uniquely identifies the Role.
Definition: Types.h:108
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
Definition: AddRoleMemberDelegate.h:38
Definition: ListMembersDelegate.h:44
Definition: RemoveRoleMemberDelegate.h:38