X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendarevent%2FCalendarEvent.cpp;h=0450b2ed0b5fa37943ecc52cb9f9cf2706775392;hb=53d1be28bfc186357bfa5ca3af777b9cf7f30230;hp=87e5a8c7c4494d9d7dc9d57e567066c576005176;hpb=51c7900b51cbdf517365f7d7a00c30939212fe1e;p=xestiacalendar%2F.git diff --git a/source/objects/calendarevent/CalendarEvent.cpp b/source/objects/calendarevent/CalendarEvent.cpp index 87e5a8c..0450b2e 100644 --- a/source/objects/calendarevent/CalendarEvent.cpp +++ b/source/objects/calendarevent/CalendarEvent.cpp @@ -9,6 +9,7 @@ CalendarObjectValidResult CalendarEventObject::ValidObject(){ bool ValidDateTimeStamp = false; bool ValidUniqueID = false; int SeekCount = 0; + string PropertyName; // Look for BEGIN:VEVENT. @@ -44,8 +45,16 @@ CalendarObjectValidResult CalendarEventObject::ValidObject(){ for (vector::iterator iter = ObjectName.begin(); iter != ObjectName.end(); iter++){ - - if (ObjectName[SeekCount] == "DTSTAMP"){ + + try{ + PropertyName = ObjectName[SeekCount].substr(0,7); + } + + catch(const out_of_range& oor){ + continue; + } + + if (PropertyName == "DTSTAMP"){ if (ValidDateTimeStamp == false){ ValidDateTimeStamp = true; @@ -66,7 +75,15 @@ CalendarObjectValidResult CalendarEventObject::ValidObject(){ for (vector::iterator iter = ObjectName.begin(); iter != ObjectName.end(); iter++){ - if (ObjectName[SeekCount] == "UID"){ + try{ + PropertyName = ObjectName[SeekCount].substr(0,3); + } + + catch(const out_of_range& oor){ + continue; + } + + if (PropertyName == "UID"){ if (ValidUniqueID == false){ ValidUniqueID = true; @@ -123,4 +140,26 @@ void CalendarEventObject::ProcessData(){ // Process the data. + multimap DataReceived; + + // 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; + + } + }