SDK  2.1.4 [async]
CloudBackend Software Development Kit - SDK API for C++
GroupFilter.h
1 /*
2  Copyright © CloudBackend AB 2020-2023.
3 */
4 
5 #ifndef INCLUDE_CBE_GROUPFILTER_H_
6 #define INCLUDE_CBE_GROUPFILTER_H_
7 
8 #include "cbe/Types.h"
9 
10 #include <iosfwd>
11 #include <memory>
12 
13 namespace CBI {
14 class GroupFilter;
15 class GroupEventProtocol;
16 using GroupDelegatePtr = std::shared_ptr<GroupEventProtocol>;
17 } // namespace CBI
18 
19 namespace cbe {
20  namespace util {
21 class Context;
22  } // namespace util
23  namespace delegate {
24 class SearchGroupDelegate;
25  } // namespace delegate
26 
31 class GroupFilter {
32 public:
33  GroupFilter();
34  GroupFilter(const GroupFilter& rh);
36  GroupFilter& operator=(const GroupFilter& rh);
37  GroupFilter& operator=(GroupFilter&& rh);
38  ~GroupFilter();
43  std::string getQuery() const;
44 
46  std::string getFilter() const;
47 
51  bool getAscending() const;
52 
56  bool getDeleted() const;
57 
61  bool getPublicFirst() const;
62 
64  uint32_t getOffset() const;
65 
67  uint32_t getCount() const;
68 
72  std::string getOrder() const;
73 
78 
85  cbe::GroupFilter& setQuery(std::string);
86 
90  cbe::GroupFilter& setFilter(std::string);
91 
97 
102 
110 
117 
119  // cbe::GroupFilter& setGroupOrder(FilterOrder o);
120 
121  friend std::ostream& operator<<(std::ostream& os, const GroupFilter& GroupFilter);
122 private:
123  struct Impl;
124  std::unique_ptr<Impl> pImpl;
125  friend class Group;
126  friend class GroupQueryResult;
127  friend class GroupManager;
128  friend class delegate::SearchGroupDelegate;
129  GroupFilter(CBI::GroupFilter&& cbiPeer);
130  CBI::GroupFilter& getCbiPeer() const;
131 }; // class GroupFilter
132 
133 } // namespace cbe
134 
135 
136 #endif // #ifndef CBE__GroupFilter_h__
To filter when searching a list of Group.
Definition: GroupFilter.h:31
cbe::GroupFilter & setOffset(uint32_t)
cbe::FilterOrder getGroupOrder() const
friend std::ostream & operator<<(std::ostream &os, const GroupFilter &GroupFilter)
cbe::GroupFilter & setAscending(bool)
cbe::GroupFilter & setQuery(std::string)
cbe::GroupFilter & setCount(uint32_t)
cbe::GroupFilter & setDeleted(bool)
bool getAscending() const
std::string getQuery() const
std::string getFilter() const
cbe::GroupFilter & setFilter(std::string)
bool getPublicFirst() const
bool getDeleted() const
uint32_t getOffset() const
std::string getOrder() const
uint32_t getCount() const
For managing the groups.
Definition: GroupManager.h:30
Resultset of data retrieved in a search for Group.
Definition: GroupQueryResult.h:27
A group of members.
Definition: Group.h:42
Root namespace for the CloudBackend SDK API.
Definition: Account.h:22
FilterOrder
Definition: Types.h:221