Loading...
Searching...
No Matches
GoogleCalendarFreeBusyDataProvider.qc.dox.h
// -*- mode: c++; indent-tabs-mode: nil -*-
namespace GoogleDataProvider {
class GoogleCalendarFreeBusyDataProvider : public GoogleDataProviderBase {
public:
const ProviderInfo = <DataProviderInfo>{
"name": "freeBusy",
"desc": "Google calendar free/busy query API data provider",
"type": "GoogleCalendarFreeBusyDataProvider",
"constructor_options": GoogleDataProvider::ConstructorOptions + {
"id": <DataProviderOptionInfo>{
"type": AbstractDataProviderTypeMap."string",
"desc": "The calendar ID",
},
},
"supports_request": True,
};
const ProviderSummaryInfo = cast<hash<DataProviderSummaryInfo>>(ProviderInfo{
AbstractDataProvider::DataProviderSummaryInfoKeys
});
const RequestType = new GoogleCalendarFreeBusyRequestType();
const ResponseType = new GoogleCalendarFreeBusyResponseType();
protected:
string id;
*hash<auto> cal;
public:
constructor(*hash<auto> options);
constructor(GoogleRestClient::GoogleRestClient rest, string id, *hash<auto> cal) ;
string getName();
*string getDesc();
protected:
auto doRequestImpl(auto req, *hash<auto> request_options);
public:
protected:
*DataProvider::AbstractDataProviderType getRequestTypeImpl();
public:
protected:
*DataProvider::AbstractDataProviderType getResponseTypeImpl();
public:
hash<DataProvider::DataProviderInfo> getStaticInfoImpl();
};
class GoogleCalendarFreeBusyRequestType : public DataProvider::HashDataType {
public:
protected:
const Fields = {
"timeMin": {
"type": SoftTimestampDataProviderStringType,
"desc": "The end of the interval for the query",
},
"timeMax": {
"type": SoftTimestampDataProviderStringType,
"desc": "The start of the interval for the query",
},
"timeZone": {
"type": AbstractDataProviderTypeMap."*string",
"desc": "Time zone used in the response. The default is UTC",
},
"groupExpansionMax": {
"type": AbstractDataProviderTypeMap."*int",
"desc": "Maximal number of calendar identifiers to be provided for a single group. Optional. An "
"error is returned for a group with more members than this value. Maximum value is `100`",
},
"calendarExpansionMax": {
"type": AbstractDataProviderTypeMap."*int",
"desc": "Maximal number of calendars for which FreeBusy information is to be provided. Optional. "
"Maximum value is `50`",
},
};
public:
constructor() ;
};
class GoogleCalendarBusyPeriodDataType : public DataProvider::HashDataType {
public:
protected:
const Fields = {
"start": {
"type": AbstractDataProviderTypeMap."softdate",
"desc": "The (inclusive) start of the time period",
},
"end": {
"type": AbstractDataProviderTypeMap."softdate",
"desc": "The (exclusive) end of the time period",
},
};
public:
constructor() ;
};
class GoogleCalendarFreeBusyDataType : public DataProvider::HashDataType {
public:
protected:
const Fields = {
"errors": {
"type": new ListDataType("GoogleCalendarGroupErrorType", AutoHashType, True),
"desc": "Optional error(s) (if computation for the group failed)",
},
"busy": {
"type": new ListDataType("GoogleCalendarGroupCalendarBusyType",
new GoogleCalendarBusyPeriodDataType(), True),
"desc": "List of time ranges during which this calendar should be regarded as busy",
},
};
public:
constructor() ;
};
class GoogleCalendarFreeBusyBaseDataType : public DataProvider::HashDataType {
public:
constructor() ;
};
class GoogleCalendarFreeBusyResponseType : public DataProvider::HashDataType {
public:
protected:
const Fields = {
"kind": {
"type": AbstractDataProviderTypeMap."string",
"desc": "The type of the collection",
},
"timeMax": {
"type": AbstractDataProviderTypeMap."softdate",
"desc": "The start of the interval for the query",
},
"timeMin": {
"type": AbstractDataProviderTypeMap."softdate",
"desc": "The end of the interval for the query",
},
"groups": {
"type": AbstractDataProviderTypeMap."*hash",
"desc": "Expansion of groups",
},
"calendars": {
"type": new GoogleCalendarFreeBusyBaseDataType(),
"desc": "List of free/busy information for calendars",
},
};
public:
constructor() ;
};
};
GoogleDataProvider::GoogleCalendarBusyPeriodDataType
Google calendar busy period data type.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:154
GoogleDataProvider::GoogleCalendarBusyPeriodDataType::constructor
constructor()
Creates the object.
GoogleDataProvider::GoogleCalendarBusyPeriodDataType::Fields
const Fields
Field descriptions.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:159
GoogleDataProvider::GoogleCalendarFreeBusyBaseDataType
Google calendar free/busy data type.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:203
GoogleDataProvider::GoogleCalendarFreeBusyBaseDataType::constructor
constructor()
Creates the object.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider
The Google calendar free/busy API data provider.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:30
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::doRequestImpl
auto doRequestImpl(auto req, *hash< auto > request_options)
Makes a request and returns the response.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::RequestType
const RequestType
Request type.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:53
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::getName
string getName()
Returns the data provider name.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::ProviderSummaryInfo
const ProviderSummaryInfo
Provider summary info.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:48
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::ResponseType
const ResponseType
Response type.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:56
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::getStaticInfoImpl
hash< DataProvider::DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::constructor
constructor(GoogleRestClient::GoogleRestClient rest, string id, *hash< auto > cal)
Creates the object from a REST connection.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::getRequestTypeImpl
*DataProvider::AbstractDataProviderType getRequestTypeImpl()
Returns the description of a successful request message, if any.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::cal
*hash< auto > cal
The calendar's metadata.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:63
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::id
string id
The calendar's ID.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:60
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::getResponseTypeImpl
*DataProvider::AbstractDataProviderType getResponseTypeImpl()
Returns the description of a response message, if this object represents a response message.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::ProviderInfo
const ProviderInfo
Provider info.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:34
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::constructor
constructor(*hash< auto > options)
Creates the object from constructor options.
GoogleDataProvider::GoogleCalendarFreeBusyDataProvider::getDesc
*string getDesc()
Returns the data provider description.
GoogleDataProvider::GoogleCalendarFreeBusyDataType
Google calendar free/busy data type.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:178
GoogleDataProvider::GoogleCalendarFreeBusyDataType::constructor
constructor()
Creates the object.
GoogleDataProvider::GoogleCalendarFreeBusyDataType::Fields
const Fields
Field descriptions.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:183
GoogleDataProvider::GoogleCalendarFreeBusyRequestType
Google calendar free/busy query request type.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:116
GoogleDataProvider::GoogleCalendarFreeBusyRequestType::Fields
const Fields
Field descriptions.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:121
GoogleDataProvider::GoogleCalendarFreeBusyRequestType::constructor
constructor()
Creates the object.
GoogleDataProvider::GoogleCalendarFreeBusyResponseType
Google calendar free/busy query request type.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:212
GoogleDataProvider::GoogleCalendarFreeBusyResponseType::constructor
constructor()
Creates the object.
GoogleDataProvider::GoogleCalendarFreeBusyResponseType::Fields
const Fields
Field descriptions.
Definition: GoogleCalendarFreeBusyDataProvider.qc.dox.h:217
GoogleDataProvider::GoogleDataProviderBase
The Google data provider base class.
Definition: GoogleDataProviderBase.qc.dox.h:28
GoogleDataProvider::GoogleDataProviderBase::rest
*GoogleRestClient::GoogleRestClient rest
The REST client object for API calls.
Definition: GoogleDataProviderBase.qc.dox.h:33
GoogleDataProvider::GoogleDataProvider::ConstructorOptions
const ConstructorOptions
Constructor options.
Definition: GoogleDataProvider.qc.dox.h:40
GoogleDataProvider::SoftTimestampDataProviderStringType
Timestamp string type.
Definition: GoogleDataProvider.qc.dox.h:150
GoogleDataProvider
Qore GoogleDataProvider module definition.
Definition: GoogleCalendarBaseDataProvider.qc.dox.h:26