diff options
Diffstat (limited to 'kresources/caldav/reader.cpp')
-rw-r--r-- | kresources/caldav/reader.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/kresources/caldav/reader.cpp b/kresources/caldav/reader.cpp new file mode 100644 index 00000000..e4d4a6e6 --- /dev/null +++ b/kresources/caldav/reader.cpp @@ -0,0 +1,65 @@ +/*========================================================================= +| 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. + ========================================================================*/ + +/*========================================================================= +| INCLUDES + ========================================================================*/ + +#include "reader.h" +#include <kdebug.h> + +/*========================================================================= +| NAMESPACE + ========================================================================*/ + +using namespace KCal; + +/*========================================================================= +| METHODS + ========================================================================*/ + +void CalDavReader::cleanJob() { + CalDavJob::cleanJob(); + mData = ""; +} + +int CalDavReader::runJob(runtime_info* RT) { + kdDebug() << "reader::run, url: " << url(); + + response* result = caldav_get_response(); + CALDAV_RESPONSE res = OK; + + if (mGetAll) { + kdDebug() << "getting all objects"; + res = caldav_getall_object(result, std::string(url().ascii()).c_str(), RT); + } else { + kdDebug() << "getting object from the specified time range"; + res = caldav_get_object(result, mTimeStart.toTime_t(), mTimeEnd.toTime_t(), std::string(url().ascii()).c_str(), RT); + } + + if (OK == res) { + kdDebug() << "success"; + if (result->msg) { + mData = result->msg; + } else { + kdDebug() << "empty collection"; + // empty collection + mData = ""; + } + } + + caldav_free_response(&result); + + return res; +} + +// EOF ======================================================================== |