C++  1.4.6
CloudBackend Software Development Kit - SDK API for C++
Group.h
1 /*
2  Copyright © CloudBackend AB 2020 - 2022..
3 */
4 #ifndef INCLUDE_CBE_GROUP_H_
5 #define INCLUDE_CBE_GROUP_H_
6 
7 #include <string>
8 #include "CBE/Member.h"
9 #include "CBE/Types.h"
10 
11 namespace CBE {
12 
13  class Group {
14  public:
18  virtual std::string name() const;
19 
23  virtual CBE::group_id_t id() const;
24 
28  virtual CBE::group_id_t parentId() const;
29 
33  virtual CBE::ContainerPtr groupContainer() const;
34 
38  virtual CBE::visibility getVisibility() const;
39 
45  virtual bool joined() const;
46 
50  virtual std::vector<CBE::Request> requests() const;
51 
55  virtual CBE::GroupPtr createGroup(std::string name, std::string memberAlias, CBE::GroupDelegatePtr delegate, CBE::visibility visibility = CBE::Visibility::Public);
56 
60  virtual void join(std::string alias, CBE::GroupDelegatePtr delegate, CBE::visibility memberVisibility = CBE::Visibility::Public, std::string applicationComment = "");
61 
65  virtual void leave(CBE::GroupDelegatePtr delegate);
66 
70  virtual void remove(CBE::GroupDelegatePtr delegate);
71 
75  virtual void rename(std::string newName, CBE::GroupDelegatePtr delegate);
76 
80  virtual void listMembers(CBE::GroupDelegatePtr delegate);
81 
85  virtual void listBannedMembers(CBE::GroupDelegatePtr delegate);
86 
87 
88  virtual ~Group() {};
89 
90  };
91 }
92 // namespace CBE
93 
94 #endif // INCLUDE_CBE_GROUP_H_
CBE::Group::id
virtual CBE::group_id_t id() const
CBE::Group::createGroup
virtual CBE::GroupPtr createGroup(std::string name, std::string memberAlias, CBE::GroupDelegatePtr delegate, CBE::visibility visibility=CBE::Visibility::Public)
CBE::Group::getVisibility
virtual CBE::visibility getVisibility() const
CBE::Group::rename
virtual void rename(std::string newName, CBE::GroupDelegatePtr delegate)
CBE::Group::joined
virtual bool joined() const
CBE::Group::listMembers
virtual void listMembers(CBE::GroupDelegatePtr delegate)
CBE::Group::listBannedMembers
virtual void listBannedMembers(CBE::GroupDelegatePtr delegate)
CBE::Group::join
virtual void join(std::string alias, CBE::GroupDelegatePtr delegate, CBE::visibility memberVisibility=CBE::Visibility::Public, std::string applicationComment="")
CBE::Group
Definition: Group.h:13
CBE::Group::name
virtual std::string name() const
CBE::Group::remove
virtual void remove(CBE::GroupDelegatePtr delegate)
CBE::Group::groupContainer
virtual CBE::ContainerPtr groupContainer() const
CBE::Group::leave
virtual void leave(CBE::GroupDelegatePtr delegate)
CBE::Group::parentId
virtual CBE::group_id_t parentId() const
CBE::Group::requests
virtual std::vector< CBE::Request > requests() const