diff options
Diffstat (limited to 'tderesources/caldav/reader.h')
-rw-r--r-- | tderesources/caldav/reader.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/tderesources/caldav/reader.h b/tderesources/caldav/reader.h new file mode 100644 index 000000000..9bcc8c87a --- /dev/null +++ b/tderesources/caldav/reader.h @@ -0,0 +1,112 @@ +/*========================================================================= +| 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 <tqstring.h> +#include <tqdatetime.h> + +namespace KCal { + +/*========================================================================= +| CLASS + ========================================================================*/ + +/** + * Calendar Reader. + */ +class CalDavReader : public CalDavJob { + +public: + + /** + * @param url URL to load. + */ + CalDavReader(const TQString& url = TQString()) : + 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 TQDateTime& start, const TQDateTime& 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. + */ + TQString data() const { + return mData; + } + + /** + * @return downloaded task data in iCal format. + */ + TQString tasksData() const { + return mTasksData; + } + + /** + * @return downloaded journal data in iCal format. + */ + TQString journalsData() const { + return mJournalsData; + } + +protected: + + virtual int runJob(runtime_info* caldavRuntime); + virtual int runTasksJob(runtime_info* caldavRuntime); + virtual int runJournalsJob(runtime_info* caldavRuntime); + + virtual void cleanJob(); + virtual void cleanTasksJob(); + virtual void cleanJournalsJob(); + +private: + + TQString mData; + TQString mTasksData; + TQString mJournalsData; + bool mGetAll; + TQDateTime mTimeStart; + TQDateTime mTimeEnd; + +}; + +} // namespace KCal + +#endif // KCALDAV_LOADER_H + |