Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added code and unit tests for editing entries in the CalDAV object
[xestiacalendar/.git] / source / objects / CalDAV / CalDAV.cpp
index ae416aa..a94640f 100644 (file)
@@ -1057,9 +1057,30 @@ CalDAVServerResult CalDAV::AddEntry(string *CalendarEntryHREF, string *EntryData
        
 }
 
+CalDAVServerResult CalDAV::EditEntry(string *CalendarEntryHREF, string *EntryData, string *EntryETag){
+       
+       // Edit an entry in the calendar collection.
+
+       // Add an entry to the calendar collection.
+       
+       CalDAVServerResult ServerResult;
+       CalDAVSendData EntryAddSendData;
+       
+       // Build the calendar list address.
+       
+       string EntryAddURLAddress = BuildServerAddress(&ConnectionData, (*CalendarEntryHREF));
+       
+       EntryAddSendData.readptr = EntryData;
+       EntryAddSendData.sizeleft = EntryData->size();
+       
+       string IfMatchHeader = "If-Match: \"";
+       IfMatchHeader.append(*EntryETag);
+       IfMatchHeader.append("\"");
+       
        struct curl_slist *CalendarRequestHeader = NULL;
        
        CalendarRequestHeader = curl_slist_append(CalendarRequestHeader, "Content-Type: text/calendar; charset=utf-8");
+       CalendarRequestHeader = curl_slist_append(CalendarRequestHeader, IfMatchHeader.c_str());        
        
        curl_easy_setopt(ConnectionHandle, CURLOPT_HTTPHEADER, CalendarRequestHeader);
        curl_easy_setopt(ConnectionHandle, CURLOPT_URL, EntryAddURLAddress.c_str());
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy