From a71c4476a79950040c9007f84af25cef4e28b351 Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 24 May 2010 17:21:58 +0000 Subject: Initial CalDAV support git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1130194 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kresources/caldav/reader.h | 92 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 kresources/caldav/reader.h (limited to 'kresources/caldav/reader.h') diff --git a/kresources/caldav/reader.h b/kresources/caldav/reader.h new file mode 100644 index 00000000..070239fd --- /dev/null +++ b/kresources/caldav/reader.h @@ -0,0 +1,92 @@ +/*========================================================================= +| KCalDAV +|-------------------------------------------------------------------------- +| (c) 2010 Timothy Pearson +| (c) 2009 Kumaran Santhanam (initial KDE4 version) +| +| This project is released under the GNU General Public License. +| Please see the file COPYING for more details. +|-------------------------------------------------------------------------- +| Remote calendar loading class. + ========================================================================*/ + +/*========================================================================= +| INCLUDES + ========================================================================*/ + +#ifndef KCALDAV_LOADER_H +#define KCALDAV_LOADER_H + +#include "job.h" + +#include +#include + +namespace KCal { + +/*========================================================================= +| CLASS + ========================================================================*/ + +/** + * Calendar Reader. + */ +class CalDavReader : public CalDavJob { + +public: + + /** + * @param url URL to load. + */ + CalDavReader(const QString& url = QString()) : + CalDavJob(url) + , mGetAll(true) + { + } + + /** + * Sets a time range. Only event between @p start and @p end will be loaded. + * This method call disables the effect of setGetAll() call. + * setGetAll() call disables the effect of this method. + */ + void setRange(const QDateTime& start, const QDateTime& end) { + mGetAll = false; + mTimeStart = start; + mTimeEnd = end; + } + + /** + * Sets the flag to load all events from the remote calendar. + * This method call disables the effect of setRange() call. + * setGetAll() call disables the effect of this method. + */ + void setGetAll() { + mGetAll = true; + } + + /** + * @return downloaded calendar data in iCal format. + */ + QString data() const { + return mData; + } + +protected: + + virtual int runJob(runtime_info* caldavRuntime); + + virtual void cleanJob(); + +private: + + QString mData; + bool mGetAll; + QDateTime mTimeStart; + QDateTime mTimeEnd; + +}; + +} // namespace KCal + +#endif // KCALDAV_LOADER_H + -- cgit v1.2.3