summaryrefslogtreecommitdiffstats
path: root/kresources
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-28 21:36:58 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-28 21:36:58 +0000
commit5abbdb459be7870848ef16691174e91c68958304 (patch)
tree1fb80e5febb13f0a82e97f2200f51ebeaff22d61 /kresources
parentba9ae64c036bad58a9d9f6ca49986913d44502d9 (diff)
downloadtdepim-5abbdb459be7870848ef16691174e91c68958304.tar.gz
tdepim-5abbdb459be7870848ef16691174e91c68958304.zip
* Fixed CalDAV resource error messages and potential crash
* Added write support to events with RECURRENCE-ID property Only remaining potential issue is modification of parent series and association/update/delete of child event RECURRENCE-ID fields git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1169262 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kresources')
-rw-r--r--kresources/caldav/reader.cpp17
-rw-r--r--kresources/caldav/writer.cpp80
2 files changed, 50 insertions, 47 deletions
diff --git a/kresources/caldav/reader.cpp b/kresources/caldav/reader.cpp
index a33c4d93..9e167e7d 100644
--- a/kresources/caldav/reader.cpp
+++ b/kresources/caldav/reader.cpp
@@ -40,12 +40,14 @@ int CalDavReader::runJob(runtime_info* RT) {
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) && (url() != "")) {
+ 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) {
@@ -64,8 +66,7 @@ int CalDavReader::runJob(runtime_info* RT) {
if ((OK == res) && (tasksUrl() != "")) {
kdDebug() << "reader::run, url: " << tasksUrl();
- response* result = caldav_get_response();
- CALDAV_RESPONSE res = OK;
+ result = caldav_get_response();
if (mGetAll) {
kdDebug() << "getting all objects";
diff --git a/kresources/caldav/writer.cpp b/kresources/caldav/writer.cpp
index 4580df51..c4101a0b 100644
--- a/kresources/caldav/writer.cpp
+++ b/kresources/caldav/writer.cpp
@@ -49,54 +49,56 @@ int CalDavWriter::runJob(runtime_info* RT) {
int res = OK;
- kdDebug() << "pushing added objects";
- res = pushObjects(mAdded, caldav_add_object, OK, RT);
- if (OK == res) {
+ if ((OK == res) && (url() != "")) {
+ kdDebug() << "pushing added objects";
+ res = pushObjects(mAdded, caldav_add_object, OK, RT);
+ if (OK == res) {
#ifdef USE_CALDAV_MODIFY
- kdDebug() << "pushing changed objects";
- res = pushObjects(mChanged, caldav_modify_object, OK, RT);
- if (OK == res) {
- kdDebug() << "pushing deleted objects";
- res = pushObjects(mDeleted, caldav_delete_object, OK, RT);
- }
+ kdDebug() << "pushing changed objects";
+ res = pushObjects(mChanged, caldav_modify_object, OK, RT);
+ if (OK == res) {
+ kdDebug() << "pushing deleted objects";
+ res = pushObjects(mDeleted, caldav_delete_object, OK, RT);
+ }
#else // if USE_CALDAV_MODIFY
- kdDebug() << "pushing changed objects (delete)";
- res = pushObjects(mChanged, caldav_delete_object, OK, RT);
- if (OK == res) {
- kdDebug() << "pushing changed objects (add)";
- res = pushObjects(mChanged, caldav_add_object, OK, RT);
- if (OK == res) {
- kdDebug() << "pushing deleted objects";
- res = pushObjects(mDeleted, caldav_delete_object, OK, RT);
- }
- }
+ kdDebug() << "pushing changed objects (delete)";
+ res = pushObjects(mChanged, caldav_delete_object, OK, RT);
+ if (OK == res) {
+ kdDebug() << "pushing changed objects (add)";
+ res = pushObjects(mChanged, caldav_add_object, OK, RT);
+ if (OK == res) {
+ kdDebug() << "pushing deleted objects";
+ res = pushObjects(mDeleted, caldav_delete_object, OK, RT);
+ }
+ }
#endif // if USE_CALDAV_MODIFY
+ }
}
- res = OK;
-
- kdDebug() << "pushing added tasks objects";
- res = pushTasksObjects(mTasksAdded, caldav_add_object, OK, RT);
if ((OK == res) && (tasksUrl() != "")) {
+ kdDebug() << "pushing added tasks objects";
+ res = pushTasksObjects(mTasksAdded, caldav_add_object, OK, RT);
+ if (OK == res) {
#ifdef USE_CALDAV_TASKS_MODIFY
- kdDebug() << "pushing changed objects";
- res = pushTasksObjects(mTasksChanged, caldav_tasks_modify_object, OK, RT);
- if (OK == res) {
- kdDebug() << "pushing deleted objects";
- res = pushTasksObjects(mTasksDeleted, caldav_tasks_delete_object, OK, RT);
- }
+ kdDebug() << "pushing changed objects";
+ res = pushTasksObjects(mTasksChanged, caldav_tasks_modify_object, OK, RT);
+ if (OK == res) {
+ kdDebug() << "pushing deleted objects";
+ res = pushTasksObjects(mTasksDeleted, caldav_tasks_delete_object, OK, RT);
+ }
#else // if USE_CALDAV_TASKS_MODIFY
- kdDebug() << "pushing changed objects (delete)";
- res = pushTasksObjects(mTasksChanged, caldav_tasks_delete_object, OK, RT);
- if (OK == res) {
- kdDebug() << "pushing changed objects (add)";
- res = pushTasksObjects(mTasksChanged, caldav_add_object, OK, RT);
- if (OK == res) {
- kdDebug() << "pushing deleted objects";
- res = pushTasksObjects(mTasksDeleted, caldav_tasks_delete_object, OK, RT);
- }
- }
+ kdDebug() << "pushing changed objects (delete)";
+ res = pushTasksObjects(mTasksChanged, caldav_tasks_delete_object, OK, RT);
+ if (OK == res) {
+ kdDebug() << "pushing changed objects (add)";
+ res = pushTasksObjects(mTasksChanged, caldav_add_object, OK, RT);
+ if (OK == res) {
+ kdDebug() << "pushing deleted objects";
+ res = pushTasksObjects(mTasksDeleted, caldav_tasks_delete_object, OK, RT);
+ }
+ }
#endif // if USE_CALDAV_TASKS_MODIFY
+ }
}
if (OK != res) {