diff options
Diffstat (limited to 'kresources/carddav/reader.cpp')
-rw-r--r-- | kresources/carddav/reader.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/kresources/carddav/reader.cpp b/kresources/carddav/reader.cpp new file mode 100644 index 000000000..57375e9f9 --- /dev/null +++ b/kresources/carddav/reader.cpp @@ -0,0 +1,65 @@ +/*========================================================================= +| 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. + ========================================================================*/ + +/*========================================================================= +| INCLUDES + ========================================================================*/ + +#include "reader.h" +#include <kdebug.h> +#include <string> + +/*========================================================================= +| NAMESPACE + ========================================================================*/ + +using namespace KABC; + +/*========================================================================= +| METHODS + ========================================================================*/ + +void CardDavReader::cleanJob() { + CardDavJob::cleanJob(); + mData = ""; +} + +int CardDavReader::runJob(runtime_info* RT) { + kdDebug() << "reader::run, url: " << url(); + + response* result = carddav_get_response(); + CARDDAV_RESPONSE res = OK; + + if (mGetAll) { + kdDebug() << "getting all objects"; + res = carddav_getall_object(result, std::string(url().ascii()).c_str(), RT); + } else { + kdDebug() << "getting object from the specified time range"; + res = carddav_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 = ""; + } + } + + carddav_free_response(&result); + + return res; +} + +// EOF ======================================================================== |