Qore GmailDataProvider Module Reference 1.0
Loading...
Searching...
No Matches
GmailMessageWatchDataProviderBase.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
26namespace GmailDataProvider {
28class GmailMessageWatchDataProviderBase : public GoogleDataProvider::GoogleDataProviderBase, public DataProvider::DelayedObservable {
29
30public:
32 const ConstructorOptions = ...;
33
34
36 const MinPollInterval = 30;
37
39 const MonthMap = ...;
40
41
42protected:
43 // I/O lock
44 Mutex lck();
45
47 Condition cond();
48
51
53 int io_tid;
54
56 bool stop;
57
60
63
66
69
71 string q;
72
73public:
74
76 constructor(GoogleRestClient::GoogleRestClient rest, hash<string, hash<DataProviderOptionInfo>> constructor_options, *hash<auto> options)
77 ;
78
79
82
83
85
88
89
91
94
95
97protected:
99public:
100
101
103protected:
104 processOptions(*hash<auto> copts);
105public:
106
107
109protected:
111public:
112
113
115protected:
116 hash<auto> setup();
117public:
118
119
121protected:
122 *hash<auto> pollOnce(reference<hash<auto>> setup);
123public:
124
125
127protected:
128 processHeaders(*reference<hash<auto>> msg, hash<auto> fields, *hash<auto> pfields);
129public:
130
131
133protected:
134 processBody(*reference<hash<auto>> msg);
135public:
136
137
139protected:
140 static auto getHeaderValue(string val, hash<auto> f);
141public:
142
143
145protected:
146 static auto getHeaderValue(string val);
147public:
148
149
151protected:
152 hash<auto> getAttachment(hash<auto> att, *hash<auto> hdr);
153public:
154
155
157protected:
158 abstract messageReceived(hash<auto> msg);
159public:
160};
161};
The parent class for Gmail REST APIs.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:28
date start_date
Start date for scan.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:68
hash< auto > getAttachment(hash< auto > att, *hash< auto > hdr)
Returns attachment data.
abstract messageReceived(hash< auto > msg)
Raise events.
processBody(*reference< hash< auto > > msg)
Process body.
constructor(GoogleRestClient::GoogleRestClient rest, hash< string, hash< DataProviderOptionInfo > > constructor_options, *hash< auto > options)
Creates the object from a REST connection.
int poll_secs
Poll interval in seconds.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:59
processHeaders(*reference< hash< auto > > msg, hash< auto > fields, *hash< auto > pfields)
Process headers and body.
bool delete_messages
Delete emails after retreiving.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:65
bool stop
I/O stop flag.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:56
bool retrieve_attachments
Retrieve attachments.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:62
string q
Match query.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:71
const MinPollInterval
Minimum poll interval in seconds.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:36
*hash< auto > pollOnce(reference< hash< auto > > setup)
Perform one poll.
processOptions(*hash< auto > copts)
Process constructor options.
stopEvents()
Called to stop generating events.
observersReady()
Called when all observers have been added to the object.
destructor()
Stops observing and deletes the object.
static auto getHeaderValue(string val)
Get header value.
hash< auto > setup()
Setup for a poll operation.
const MonthMap
For parsing months.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:39
static auto getHeaderValue(string val, hash< auto > f)
Get header value.
int waiting
Number of threads waiting on the I/O condition.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:50
const ConstructorOptions
Constructor options.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:32
int io_tid
I/O TID.
Definition GmailMessageWatchDataProviderBase.qc.dox.h:53
Qore GmailDataProvider module definition.
Definition GmailAttachmentWatchDataProvider.qc.dox.h:26