$darkmode
Qore GoogleDataProvider Module Reference 1.0
GoogleCalendarDataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
26 namespace GoogleDataProvider {
29 
30 public:
32  const ProviderInfo = <DataProviderInfo>{
33  "name": "calendar",
34  "desc": "Google calendar data provider; parent provider for APIs related to calendars",
35  "type": "GoogleCalendarDataProvider",
36  "constructor_options": GoogleDataProvider::ConstructorOptions + {
37  "id": <DataProviderOptionInfo>{
38  "type": AbstractDataProviderTypeMap."string",
39  "desc": "The calendar ID",
40  },
41  },
42  "supports_children": True,
43  "children_can_support_apis": True,
44  };
45 
47  const ProviderSummaryInfo = cast<hash<DataProviderSummaryInfo>>(ProviderInfo{
48  AbstractDataProvider::DataProviderSummaryInfoKeys
49  });
50 
51 protected:
53  string id;
54 
56  *hash<auto> cal;
57 
58  const ChildMap = {
59  "delete": Class::forName("GoogleDataProvider::GoogleCalendarDeleteDataProvider"),
60  "events": Class::forName("GoogleDataProvider::GoogleCalendarEventsDataProvider"),
61  "freeBusy": Class::forName("GoogleDataProvider::GoogleCalendarFreeBusyDataProvider"),
62  "get": Class::forName("GoogleDataProvider::GoogleCalendarGetDataProvider"),
63  "patch": Class::forName("GoogleDataProvider::GoogleCalendarPatchDataProvider"),
64  "update": Class::forName("GoogleDataProvider::GoogleCalendarUpdateDataProvider"),
65  };
66 
67 public:
68 
70  constructor(*hash<auto> options);
71 
72 
74  constructor(GoogleRestClient::GoogleRestClient rest, string id, *hash<auto> cal) ;
75 
76 
78  string getName();
79 
80 
82  *string getDesc();
83 
84 
86  *list<hash<DataProvider::DataProviderSummaryInfo>> getChildProviderSummaryInfo();
87 
88 
90 
92 protected:
93  *list<string> getChildProviderNamesImpl();
94 public:
95 
96 
98 
102 protected:
104 public:
105 
106 
108  hash<DataProvider::DataProviderInfo> getStaticInfoImpl();
109 
110 };
111 };
The parent class for Google calendar REST APIs.
Definition: GoogleCalendarDataProvider.qc.dox.h:28
*list< hash< DataProvider::DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
const ProviderInfo
Provider info.
Definition: GoogleCalendarDataProvider.qc.dox.h:32
constructor(GoogleRestClient::GoogleRestClient rest, string id, *hash< auto > cal)
Creates the object from a REST connection.
const ProviderSummaryInfo
Provider summary info.
Definition: GoogleCalendarDataProvider.qc.dox.h:47
*GoogleDataProviderBase getChildProviderImpl(string name)
Returns the given child provider or NOTHING if the given child is unknown.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
*hash< auto > cal
The calendar's metadata.
Definition: GoogleCalendarDataProvider.qc.dox.h:56
hash< DataProvider::DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
*string getDesc()
Returns the data provider description.
string id
The calendar's ID.
Definition: GoogleCalendarDataProvider.qc.dox.h:53
string getName()
Returns the data provider name.
constructor(*hash< auto > options)
Creates the object from constructor options.
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
Qore GoogleDataProvider module definition.
Definition: GoogleCalendarBaseDataProvider.qc.dox.h:26