X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2FCalDAV%2FCalDAV.h;h=5629b87a3407f5d7aabeebad68ca838a819392c2;hb=cba151c4b833a26c63984769f921bab5e755decd;hp=aee045a7b39c19ffe4b8de037eaab36a606c8472;hpb=fb7334af110912e40389f059adcf58c4a289a881;p=xestiacalendar%2F.git diff --git a/source/objects/CalDAV/CalDAV.h b/source/objects/CalDAV/CalDAV.h index aee045a..5629b87 100644 --- a/source/objects/CalDAV/CalDAV.h +++ b/source/objects/CalDAV/CalDAV.h @@ -1,14 +1,14 @@ // CalDAV.h - CalDAV Connection Object header. // -// (c) 2016 Xestia Software Development. +// (c) 2016-2017 Xestia Software Development. // // This file is part of Xestia Calendar. // -// Xestia Address Book is free software: you can redistribute it and/or modify +// Xestia Calendar is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by the // Free Software Foundation, version 3 of the license. // -// Xestia Address Book is distributed in the hope that it will be useful, +// Xestia Calendar is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. @@ -29,6 +29,7 @@ #include #include "../../common/colour.h" #include "../../common/text.h" +#include "../../common/uuid.h" using namespace std; @@ -50,6 +51,15 @@ struct CalDAVCalendarList { map Description; map CalColour; map Tag; + map TagURL; + +}; + +struct CalDAVEntryList { + + map HREF; + map Data; + map Tag; }; @@ -122,9 +132,17 @@ class CalDAV{ string ProcessXMLUserPrincipal(); string ProcessXMLCalendarHome(); CalDAVCalendarList ProcessXMLCalendarList(); + CalDAVEntryList ProcessXMLEntryList(); + CalDAVEntryList ProcessXMLSyncTokenList(); + string ProcessXMLEntryETag(); bool MatchXMLNameTransverse(xmlNodePtr *NodePtr, string NodeName); bool MatchXMLName(xmlNodePtr *NodePtrOriginal, string NodeName); string FetchXMLData(xmlNodePtr *NodePtr); + CalDAVServerResult EditCalendarProcess(string *CalendarHREF, + string *CalendarName, + Colour *CalendarColour, + string *CalendarDescription, + int *CalendarOrder); CalDAVConnectionData ConnectionData; CalDAVServerResult ConnectionServerResult; @@ -141,9 +159,36 @@ class CalDAV{ CalDAVServerResult GetServerResult(); CalDAVServerSupport GetServerSupport(); CalDAVCalendarList GetCalendars(); + CalDAVEntryList GetEntryList(string *CalendarHREF); + CalDAVEntryList GetEntryList(string *CalendarHREF, string *CalendarTag); + + CalDAVServerResult AddCalendar(string CalendarName); + CalDAVServerResult AddCalendar(string *CalendarName, string *CalendarShortName); + + CalDAVServerResult EditCalendar(string *CalendarHREF, + string *CalendarName, + Colour *CalendarColour, + string *CalendarDescription, + int *CalendarOrder); + CalDAVServerResult EditCalendar(string *CalendarHREF, + Colour *CalendarColour); + CalDAVServerResult EditCalendar(string *CalendarHREF, + string *CalendarName); + CalDAVServerResult EditCalendar(string *CalendarHREF, + int *CalendarOrder); + CalDAVServerResult EditCalendarDescription(string *CalendarHREF, + string *CalendarDescription); + + CalDAVServerResult DeleteCalendar(string *CalendarHREF); + + CalDAVServerResult AddEntry(string *CalendarEntryHREF, string *EntryData); + CalDAVServerResult EditEntry(string *CalendarEntryHREF, string *EntryData, string *EntryETag); + CalDAVServerResult DeleteEntry(string *CalendarEntryHREF); string GetUserPrincipal(); string GetCalendarHome(string UserPrincipalURI); + + CalDAVServerResult GetEntryETag(string *CalendarEntryHREF, string *ETagValue); };