$darkmode
Qore GoogleDataProvider Module Reference 1.0
GoogleCalendarListListDataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
26 namespace GoogleDataProvider {
28 
31 
32 public:
34  const ProviderInfo = <DataProviderInfo>{
35  "name": "list",
36  "desc": "Google calendarList list API data provider",
37  "type": "GoogleCalendarListListDataProvider",
38  "constructor_options": GoogleDataProvider::ConstructorOptions,
39  "supports_request": True,
40  };
41 
43  const ProviderSummaryInfo = cast<hash<DataProviderSummaryInfo>>(ProviderInfo{
44  AbstractDataProvider::DataProviderSummaryInfoKeys
45  });
46 
49 
52 
54  constructor(*hash<auto> options);
55 
56 
58  constructor(GoogleRestClient::GoogleRestClient rest) ;
59 
60 
62  string getName();
63 
64 
66  *string getDesc();
67 
68 
70 
75 protected:
76  auto doRequestImpl(auto req, *hash<auto> request_options);
77 public:
78 
79 
81 
83 protected:
84  *DataProvider::AbstractDataProviderType getRequestTypeImpl();
85 public:
86 
87 
89 
91 protected:
92  *DataProvider::AbstractDataProviderType getResponseTypeImpl();
93 public:
94 
95 
97  hash<DataProvider::DataProviderInfo> getStaticInfoImpl();
98 
99 };
100 
102 class GoogleCalendarListRequestType : public DataProvider::HashDataType {
103 
104 public:
105 protected:
107  const Fields = {
108  // query parameters
109  "maxResults": {
110  "type": AbstractDataProviderTypeMap."int",
111  "desc": "Maximum number of entries returned on one result page. By default the value is 100 entries. "
112  "The page size can never be larger than 250 entries",
113  "default_value": 100,
114  },
115  "minAccessRole": {
116  "type": AbstractDataProviderTypeMap."*string",
117  "desc": "The minimum access role for the user in the returned entries. Optional. The default is no "
118  "restriction\n"
119  "Acceptable values are:\n"
120  "- `freeBusyReader`: The user can read free/busy information\n"
121  "- `owner`: The user can read and modify events and access control lists\n"
122  "- `reader`: The user can read events that are not private\n"
123  "- `writer`: The user can read and modify events",
124  "allowed_values": (
125  "freeBusyReader",
126  "owner",
127  "reader",
128  "writer",
129  ),
130  },
131  "pageToken": {
132  "type": AbstractDataProviderTypeMap."*string",
133  "desc": "Token specifying which result page to return",
134  },
135  "showDeleted": {
137  "desc": "Whether to include deleted calendar list entries in the result",
138  "default_value": False,
139  },
140  "showHidden": {
142  "desc": "Whether to show hidden entries",
143  "default_value": False,
144  },
145  "syncToken": {
146  "type": AbstractDataProviderTypeMap."*string",
147  "desc": "Token obtained from the nextSyncToken field returned on the last page of results from the "
148  "previous list request. It makes the result of this list request contain only entries that have "
149  "changed since then. If only read-only fields such as calendar properties or ACLs have changed, "
150  "the entry won't be returned. All entries deleted and hidden since the previous list request "
151  "will always be in the result set and it is not allowed to set showDeleted neither showHidden to "
152  "`False`. To ensure client state consistency, the `minAccessRole` query parameter cannot be "
153  "specified together with `nextSyncToken`.\n"
154  "If the `syncToken` expires, the server will respond with a `410 GONE` response code and the "
155  "client should clear its storage and perform a full synchronization without any `syncToken`.\n"
156  "The default is to return all entries",
157  },
158  };
159 
160 public:
161 
164 
165 };
166 
168 class GoogleCalendarListResponseType : public DataProvider::HashDataType {
169 
170 public:
171 protected:
173  const Fields = {
174  "kind": {
175  "type": AbstractDataProviderTypeMap."string",
176  "desc": "The type of the collection",
177  },
178  "etag": {
179  "type": AbstractDataProviderTypeMap."string",
180  "desc": "A hash that indicates a specific version of the object definition",
181  },
182  "nextPageToken": {
183  "type": AbstractDataProviderTypeMap."*string",
184  "desc": "Token used to access the next page of this result. Omitted if no further results are "
185  "available, in which case `nextSyncToken` is provided",
186  },
187  "nextSyncToken": {
188  "type": AbstractDataProviderTypeMap."*string",
189  "desc": "A synchronization token for the data",
190  },
191  "items": {
192  "type": new ListDataType("*GoogleCalendarListElementType", new GoogleCalendarListElementType(), True),
193  "desc": "response items",
194  }
195  };
196 
197 public:
198 
201 
202 };
203 };
Google calenderList element type.
Definition: GoogleCalendarListElementType.qc.dox.h:28
The Google calendarList list API data provider.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:30
const ProviderInfo
Provider info.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:34
constructor(GoogleRestClient::GoogleRestClient rest)
Creates the object from a REST connection.
hash< DataProvider::DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
*DataProvider::AbstractDataProviderType getResponseTypeImpl()
Returns the description of a response message, if this object represents a response message.
*string getDesc()
Returns the data provider description.
*DataProvider::AbstractDataProviderType getRequestTypeImpl()
Returns the description of a successful request message, if any.
constructor(*hash< auto > options)
Creates the object from constructor options.
string getName()
Returns the data provider name.
const ResponseType
Response type.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:51
const RequestType
Request type.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:48
auto doRequestImpl(auto req, *hash< auto > request_options)
Makes a request and returns the response.
const ProviderSummaryInfo
Provider summary info.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:43
Google calenderList list request data type.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:102
const Fields
Field descriptions.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:107
Google calendarList list response data type.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:168
const Fields
Field descriptions.
Definition: GoogleCalendarListListDataProvider.qc.dox.h:173
The Google data provider base class.
Definition: GoogleDataProviderBase.qc.dox.h:28
*GoogleRestClient::GoogleRestClient rest
The REST client object for API calls.
Definition: GoogleDataProviderBase.qc.dox.h:33
const ConstructorOptions
Constructor options.
Definition: GoogleDataProvider.qc.dox.h:40
const True
const False
Qore GoogleDataProvider module definition.
Definition: GoogleCalendarBaseDataProvider.qc.dox.h:26
const SoftBoolDataProviderStringType
Boolean data provider string type for query parameters.
Definition: GoogleDataProvider.qc.dox.h:127