diff options
Diffstat (limited to 'kresources/carddav/reader.h')
-rw-r--r-- | kresources/carddav/reader.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/kresources/carddav/reader.h b/kresources/carddav/reader.h new file mode 100644 index 000000000..f4c1eb84d --- /dev/null +++ b/kresources/carddav/reader.h @@ -0,0 +1,91 @@ +/*========================================================================= +| KABCDAV +|-------------------------------------------------------------------------- +| (c) 2010 Timothy Pearson +| +| This project is released under the GNU General Public License. +| Please see the file COPYING for more details. +|-------------------------------------------------------------------------- +| Remote address book loading class. + ========================================================================*/ + +/*========================================================================= +| INCLUDES + ========================================================================*/ + +#ifndef KABCDAV_LOADER_H +#define KABCDAV_LOADER_H + +#include "job.h" + +#include <qstring.h> +#include <qdatetime.h> + +namespace KABC { + +/*========================================================================= +| CLASS + ========================================================================*/ + +/** + * Calendar Reader. + */ +class CardDavReader : public CardDavJob { + +public: + + /** + * @param url URL to load. + */ + CardDavReader(const QString& url = QString()) : + CardDavJob(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 KABC + +#endif // KABCDAV_LOADER_H + |