Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Created the CalendarTimezoneObject.
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Wed, 3 Feb 2016 19:27:48 +0000 (19:27 +0000)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Wed, 3 Feb 2016 19:27:48 +0000 (19:27 +0000)
source/objects/calendartimezone/CalendarTimezone.cpp [new file with mode: 0644]
source/objects/calendartimezone/CalendarTimezone.h [new file with mode: 0644]

diff --git a/source/objects/calendartimezone/CalendarTimezone.cpp b/source/objects/calendartimezone/CalendarTimezone.cpp
new file mode 100644 (file)
index 0000000..cf25c18
--- /dev/null
@@ -0,0 +1,112 @@
+#include "CalendarTimezone.h"
+
+using namespace std;
+
+CalendarObjectValidResult CalendarTimezoneObject::ValidObject(){
+       bool ValidBegin = false;
+       bool ValidEnd = false;
+       bool ValidTimeZoneID = false;
+       int SeekCount = 0;
+       string PropertyName;
+       
+       // Look for BEGIN:VEVENT.
+       
+       for (vector<string>::iterator iter = ObjectName.begin();
+               iter != ObjectName.end(); iter++){
+       
+               if (ObjectName[SeekCount] == "BEGIN" &&
+                       ObjectData[SeekCount] == "VTIMEZONE"){
+                       
+                       if (ValidBegin == false){
+                               ValidBegin = true;
+                       } else {
+                               return CALENDAROBJECTVALID_INVALIDFORMAT;
+                       }
+                               
+               }
+               
+               if (ObjectName[SeekCount] == "END" &&
+                       ObjectData[SeekCount] == "VTIMEZONE" &&
+                       ValidBegin == false){
+               
+                       return CALENDAROBJECTVALID_INVALIDFORMAT;
+                               
+               }
+               
+               SeekCount++;
+                       
+       }
+       
+       SeekCount = 0;
+       
+       // Look for DTSTAMP.
+       
+       for (vector<string>::iterator iter = ObjectName.begin();
+               iter != ObjectName.end(); iter++){
+                       
+               try{
+                       PropertyName = ObjectName[SeekCount].substr(0,7);
+               }
+                       
+               catch(const out_of_range& oor){
+                       continue;
+               }
+               
+               if (PropertyName == "TZID"){
+                       
+                       if (ValidTimeZoneID == false){
+                               ValidTimeZoneID = true;
+                       } else {
+                               return CALENDAROBJECTVALID_INVALIDFORMAT;
+                       }
+                               
+               }
+                       
+               SeekCount++;
+                       
+       }
+       
+       SeekCount = 0;
+       
+       // Look for END:VEVENT.
+       
+       for (vector<string>::iterator iter = ObjectName.begin();
+               iter != ObjectName.end(); iter++){
+       
+               if (ObjectName[SeekCount] == "END" &&
+                       ObjectData[SeekCount] == "VTIMEZONE"){
+                       
+                       if (ValidEnd == false){
+                               ValidEnd = true;
+                       } else {
+                               return CALENDAROBJECTVALID_INVALIDFORMAT;
+                       }
+                               
+               }
+                       
+               SeekCount++;
+                       
+       }
+       
+       // Check if the VEVENT is valid.
+       
+       if (ValidBegin == true && 
+               ValidEnd == true && 
+               ValidTimeZoneID == true){
+               
+               return CALENDAROBJECTVALID_OK;
+                       
+       } else {
+               
+               return CALENDAROBJECTVALID_INVALIDFORMAT;
+               
+       }
+       
+}
+
+void CalendarTimezoneObject::ProcessData(){
+
+       
+       
+}
\ No newline at end of file
diff --git a/source/objects/calendartimezone/CalendarTimezone.h b/source/objects/calendartimezone/CalendarTimezone.h
new file mode 100644 (file)
index 0000000..94a351c
--- /dev/null
@@ -0,0 +1,16 @@
+#ifndef __OBJECTS_CALENDARTIMEZONE_CALENDARTIMEZONE_H__
+#define __OBJECTS_CALENDARTIMEZONE_CALENDARTIMEZONE_H__
+
+#include "../calendarobject/CalendarObject.h"
+
+class CalendarTimezoneObject: public CalendarObject{
+  
+       CalendarObjectValidResult ValidObject();
+       
+       private:
+       
+       void ProcessData();
+       
+};
+
+#endif
\ No newline at end of file
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