X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendartask%2FCalendarTask.cpp;h=36933b11f701c6e04001fbf67133a74d82c68809;hb=64f16356b21e7d3930a804decbbf31a545360bdc;hp=eb99179365d643dcebbacf88eb991daca191ab34;hpb=abad53ea10af66d3b73823c0081ddf179a3233eb;p=xestiacalendar%2F.git diff --git a/source/objects/calendartask/CalendarTask.cpp b/source/objects/calendartask/CalendarTask.cpp index eb99179..36933b1 100644 --- a/source/objects/calendartask/CalendarTask.cpp +++ b/source/objects/calendartask/CalendarTask.cpp @@ -11,7 +11,7 @@ CalendarObjectValidResult CalendarTaskObject::ValidObject(){ int SeekCount = 0; string PropertyName; - // Look for BEGIN:VEVENT. + // Look for BEGIN:VTODO. for (vector::iterator iter = ObjectName.begin(); iter != ObjectName.end(); iter++){ @@ -65,7 +65,7 @@ CalendarObjectValidResult CalendarTaskObject::ValidObject(){ } SeekCount++; - + } SeekCount = 0; @@ -99,7 +99,7 @@ CalendarObjectValidResult CalendarTaskObject::ValidObject(){ SeekCount = 0; - // Look for END:VEVENT. + // Look for END:VTODO. for (vector::iterator iter = ObjectName.begin(); iter != ObjectName.end(); iter++){ @@ -119,13 +119,13 @@ CalendarObjectValidResult CalendarTaskObject::ValidObject(){ } - // Check if the VEVENT is valid. - + // Check if the VTODO is valid. + if (ValidBegin == true && ValidEnd == true && ValidDateTimeStamp == true && ValidUniqueID == true){ - + return CALENDAROBJECTVALID_OK; } else { @@ -138,4 +138,105 @@ CalendarObjectValidResult CalendarTaskObject::ValidObject(){ void CalendarTaskObject::ProcessData(){ + // Process the data. + + multimap DataReceived; + map PropertyData; + string *PropertyNameData = nullptr; + int ObjectSeekCount = 0; + + // Get the Date Time Stamp (DTSTAMP). + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "DTSTAMP"); + + // Process the data from DTSTAMP. + + if (DataReceived.begin() != DataReceived.end()){ + + try { + DateTimeStampTokens = DataReceived.begin()->first.substr(8); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + DateTimeStampData = DataReceived.begin()->second; + + } + + // Get the Unique ID (UID). + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "UID"); + + // Process the data from UID. + + if (DataReceived.begin() != DataReceived.end()){ + + try { + UniqueIDTokens = DataReceived.begin()->first.substr(4); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + UniqueID = DataReceived.begin()->second; + + } + + // Process the data from CLASS. + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "CLASS"); + + if (DataReceived.begin() != DataReceived.end()){ + + try { + ClassDataTokens = DataReceived.begin()->first.substr(6); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + ClassData = DataReceived.begin()->second; + + } + + // Process the data from COMPLETED. + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "COMPLETED"); + + if (DataReceived.begin() != DataReceived.end()){ + + try { + CompletedDataTokens = DataReceived.begin()->first.substr(10); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + CompletedData = DataReceived.begin()->second; + + } + + // Process the data from CREATED. + + DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "CREATED"); + + if (DataReceived.begin() != DataReceived.end()){ + + try { + DateTimeCreatedTokens = DataReceived.begin()->first.substr(8); + } + + catch(const out_of_range &oor){ + // Do nothing as there is no data. + } + + DateTimeCreatedData = DataReceived.begin()->second; + + } + } \ No newline at end of file