X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;ds=sidebyside;f=source%2Fobjects%2Fcalendarfreebusy%2FCalendarFreeBusy.cpp;h=d59149d16931a5eb90c790a272baedaada651311;hb=HEAD;hp=fd9ed9b0f8bce56d96434aa902e278f3417b93a1;hpb=90984a34d3c98cf5f9c7307ff3b88d5be4500d70;p=xestiacalendar%2F.git
diff --git a/source/objects/calendarfreebusy/CalendarFreeBusy.cpp b/source/objects/calendarfreebusy/CalendarFreeBusy.cpp
index fd9ed9b..d59149d 100644
--- a/source/objects/calendarfreebusy/CalendarFreeBusy.cpp
+++ b/source/objects/calendarfreebusy/CalendarFreeBusy.cpp
@@ -1,131 +1,149 @@
+// CalendarFreeBusy.cpp - CalendarFreeBusy class functions
+//
+// (c) 2016-2017 Xestia Software Development.
+//
+// This file is part of Xestia Calendar.
+//
+// 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 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Calendar. If not, see
+
#include "CalendarFreeBusy.h"
using namespace std;
CalendarObjectValidResult CalendarFreeBusyObject::ValidObject(){
- bool ValidBegin = false;
- bool ValidEnd = false;
- bool ValidDateTimeStamp = false;
- bool ValidUniqueID = false;
- bool ValidDateTimeStart = false;
- int SeekCount = 0;
- string PropertyName;
+ bool validBegin = false;
+ bool validEnd = false;
+ bool validDateTimeStamp = false;
+ bool validUniqueID = false;
+ bool validDateTimeStart = false;
+ int seekCount = 0;
+ string propertyName;
// Look for BEGIN:VFREEBUSY.
- for (vector::iterator iter = ObjectName.begin();
- iter != ObjectName.end(); iter++){
+ for (vector::iterator iter = objectName.begin();
+ iter != objectName.end(); iter++){
- if (ObjectName[SeekCount] == "BEGIN" &&
- ObjectData[SeekCount] == "VFREEBUSY"){
+ if (objectName[seekCount] == "BEGIN" &&
+ objectData[seekCount] == "VFREEBUSY"){
- if (ValidBegin == false){
- ValidBegin = true;
+ if (validBegin == false){
+ validBegin = true;
} else {
return CALENDAROBJECTVALID_INVALIDFORMAT;
}
}
- if (ObjectName[SeekCount] == "END" &&
- ObjectData[SeekCount] == "VFREEBUSY" &&
- ValidBegin == false){
+ if (objectName[seekCount] == "END" &&
+ objectData[seekCount] == "VFREEBUSY" &&
+ validBegin == false){
return CALENDAROBJECTVALID_INVALIDFORMAT;
}
- SeekCount++;
+ seekCount++;
}
- SeekCount = 0;
+ seekCount = 0;
// Look for DTSTAMP.
- for (vector::iterator iter = ObjectName.begin();
- iter != ObjectName.end(); iter++){
+ for (vector::iterator iter = objectName.begin();
+ iter != objectName.end(); iter++){
try{
- PropertyName = ObjectName[SeekCount].substr(0,7);
+ propertyName = objectName[seekCount].substr(0,7);
}
catch(const out_of_range& oor){
continue;
}
- if (PropertyName == "DTSTAMP"){
+ if (propertyName == "DTSTAMP"){
- if (ValidDateTimeStamp == false){
- ValidDateTimeStamp = true;
+ if (validDateTimeStamp == false){
+ validDateTimeStamp = true;
} else {
return CALENDAROBJECTVALID_INVALIDFORMAT;
}
}
- SeekCount++;
+ seekCount++;
}
- SeekCount = 0;
+ seekCount = 0;
// Look for UID.
- for (vector::iterator iter = ObjectName.begin();
- iter != ObjectName.end(); iter++){
+ for (vector::iterator iter = objectName.begin();
+ iter != objectName.end(); iter++){
try{
- PropertyName = ObjectName[SeekCount].substr(0,3);
+ propertyName = objectName[seekCount].substr(0,3);
}
catch(const out_of_range& oor){
continue;
}
- if (PropertyName == "UID"){
+ if (propertyName == "UID"){
- if (ValidUniqueID == false){
- ValidUniqueID = true;
+ if (validUniqueID == false){
+ validUniqueID = true;
} else {
return CALENDAROBJECTVALID_INVALIDFORMAT;
}
}
- SeekCount++;
+ seekCount++;
}
- SeekCount = 0;
+ seekCount = 0;
// Look for END:VFREEBUSY.
- for (vector::iterator iter = ObjectName.begin();
- iter != ObjectName.end(); iter++){
+ for (vector::iterator iter = objectName.begin();
+ iter != objectName.end(); iter++){
- if (ObjectName[SeekCount] == "END" &&
- ObjectData[SeekCount] == "VFREEBUSY"){
+ if (objectName[seekCount] == "END" &&
+ objectData[seekCount] == "VFREEBUSY"){
- if (ValidEnd == false){
- ValidEnd = true;
+ if (validEnd == false){
+ validEnd = true;
} else {
return CALENDAROBJECTVALID_INVALIDFORMAT;
}
}
- SeekCount++;
+ seekCount++;
}
// Check if the VEVENT is valid.
- if (ValidBegin == true &&
- ValidEnd == true &&
- ValidDateTimeStamp == true &&
- ValidUniqueID == true){
+ if (validBegin == true &&
+ validEnd == true &&
+ validDateTimeStamp == true &&
+ validUniqueID == true){
return CALENDAROBJECTVALID_OK;
@@ -141,448 +159,578 @@ void CalendarFreeBusyObject::ProcessData(){
// Process the data.
- multimap DataReceived;
- map PropertyData;
- string *PropertyNameData = nullptr;
- int ObjectSeekCount = 0;
+ multimap dataReceived;
+ map propertyData;
+ string *propertyNameData = nullptr;
+ int objectSeekCount = 0;
// Get the Date Time Stamp (DTSTAMP).
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "DTSTAMP");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, false, "DTSTAMP");
// Process the data from DTSTAMP.
- if (DataReceived.begin() != DataReceived.end()){
+ if (dataReceived.begin() != dataReceived.end()){
try {
- DateTimeStampTokens = DataReceived.begin()->first.substr(8);
+ dateTimeStampTokens = dataReceived.begin()->first.substr(8);
}
catch(const out_of_range &oor){
// Do nothing as there is no data.
}
- DateTimeStampData = DataReceived.begin()->second;
+ dateTimeStampData = dataReceived.begin()->second;
}
// Get the Unique ID (UID).
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "UID");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, false, "UID");
// Process the data from UID.
- if (DataReceived.begin() != DataReceived.end()){
+ if (dataReceived.begin() != dataReceived.end()){
try {
- UniqueIDTokens = DataReceived.begin()->first.substr(4);
+ uniqueIDTokens = dataReceived.begin()->first.substr(4);
}
catch(const out_of_range &oor){
// Do nothing as there is no data.
}
- UniqueID = DataReceived.begin()->second;
+ uniqueID = dataReceived.begin()->second;
}
// Process the data from CONTACT.
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "CONTACT");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, false, "CONTACT");
- ObjectSeekCount = 0;
+ objectSeekCount = 0;
- for(multimap::iterator iter = DataReceived.begin();
- iter != DataReceived.end();
+ for(multimap::iterator iter = dataReceived.begin();
+ iter != dataReceived.end();
++iter){
- ContactListTokens.push_back("");
- ContactListAltRep.push_back("");
- ContactListLanguage.push_back("");
- ContactList.push_back("");
+ contactListTokens.push_back("");
+ contactListAltRep.push_back("");
+ contactListLanguage.push_back("");
+ contactList.push_back("");
- bool TokenData = false;
- string PropertyTokens;
+ bool tokenData = false;
+ string propertyTokens;
- PropertyNameData = (string*)&iter->first;
+ propertyNameData = (string*)&iter->first;
- PropertyData = SplitValues(*PropertyNameData);
+ propertyData = SplitValues(*propertyNameData);
- for(map::iterator dataiter = PropertyData.begin();
- dataiter != PropertyData.end(); dataiter++){
+ for(map::iterator dataiter = propertyData.begin();
+ dataiter != propertyData.end(); dataiter++){
if (dataiter->first == "ALTREP"){
- ContactListAltRep[ObjectSeekCount] = dataiter->second;
+ contactListAltRep[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "LANGUAGE"){
- ContactListLanguage[ObjectSeekCount] = dataiter->second;
+ contactListLanguage[objectSeekCount] = dataiter->second;
} else {
- if (TokenData == false){
- TokenData = true;
+ if (tokenData == false){
+ tokenData = true;
} else {
- PropertyTokens += ";";
+ propertyTokens += ";";
}
- PropertyTokens += dataiter->first;
- PropertyTokens += "=";
- PropertyTokens += dataiter->second;
+ propertyTokens += dataiter->first;
+ propertyTokens += "=";
+ propertyTokens += dataiter->second;
}
}
- if (PropertyTokens.size() > 0){
- ContactListTokens[ObjectSeekCount] = PropertyTokens;
+ if (propertyTokens.size() > 0){
+ contactListTokens[objectSeekCount] = propertyTokens;
}
- ContactList[ObjectSeekCount] = iter->second;
+ contactList[objectSeekCount] = iter->second;
- ObjectSeekCount++;
+ objectSeekCount++;
}
// Get the Date Time Start value.
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "DTSTART");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, false, "DTSTART");
// Process the data from DTSTART.
- if (DataReceived.begin() != DataReceived.end()){
+ if (dataReceived.begin() != dataReceived.end()){
- bool TokenData = false;
- string PropertyTokens;
+ bool tokenData = false;
+ string propertyTokens;
- PropertyNameData = (string*)&DataReceived.begin()->first;
+ propertyNameData = (string*)&dataReceived.begin()->first;
- PropertyData = SplitValues(*PropertyNameData);
+ propertyData = SplitValues(*propertyNameData);
- for(map::iterator iter = PropertyData.begin();
- iter != PropertyData.end(); iter++){
+ for(map::iterator iter = propertyData.begin();
+ iter != propertyData.end(); iter++){
if (iter->first == "VALUE"){
- DateTimeStartDataValue = iter->second;
+ dateTimeStartDataValue = iter->second;
} else if (iter->first == "TZID"){
- DateTimeStartDataTimeZoneID = iter->second;
+ dateTimeStartDataTimeZoneID = iter->second;
} else {
- if (TokenData == false){
- TokenData = true;
+ if (tokenData == false){
+ tokenData = true;
} else {
- PropertyTokens += ";";
+ propertyTokens += ";";
}
- PropertyTokens += iter->first;
- PropertyTokens += "=";
- PropertyTokens += iter->second;
+ propertyTokens += iter->first;
+ propertyTokens += "=";
+ propertyTokens += iter->second;
}
}
- if (PropertyTokens.size() > 0){
- DateTimeStartDataTokens = PropertyTokens;
+ if (propertyTokens.size() > 0){
+ dateTimeStartDataTokens = propertyTokens;
}
- DateTimeStartData = DataReceived.begin()->second;
+ dateTimeStartData = dataReceived.begin()->second;
}
// Process the data from DTEND.
- bool DateTimeEndProcessed = false;
+ bool dateTimeEndProcessed = false;
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "DTEND");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, false, "DTEND");
- if (DataReceived.begin() != DataReceived.end()){
+ if (dataReceived.begin() != dataReceived.end()){
- bool TokenData = false;
- string PropertyTokens;
+ bool tokenData = false;
+ string propertyTokens;
- PropertyNameData = (string*)&DataReceived.begin()->first;
+ propertyNameData = (string*)&dataReceived.begin()->first;
- PropertyData = SplitValues(*PropertyNameData);
+ propertyData = SplitValues(*propertyNameData);
- for(map::iterator iter = PropertyData.begin();
- iter != PropertyData.end(); iter++){
+ for(map::iterator iter = propertyData.begin();
+ iter != propertyData.end(); iter++){
if (iter->first == "VALUE"){
- DateTimeEndDataValue = iter->second;
+ dateTimeEndDataValue = iter->second;
} else if (iter->first == "TZID"){
- DateTimeEndDataTimeZoneID = iter->second;
+ dateTimeEndDataTimeZoneID = iter->second;
} else {
- if (TokenData == false){
- TokenData = true;
+ if (tokenData == false){
+ tokenData = true;
} else {
- PropertyTokens += ";";
+ propertyTokens += ";";
}
- PropertyTokens += iter->first;
- PropertyTokens += "=";
- PropertyTokens += iter->second;
+ propertyTokens += iter->first;
+ propertyTokens += "=";
+ propertyTokens += iter->second;
}
}
- if (PropertyTokens.size() > 0){
- DateTimeEndDataTokens = PropertyTokens;
+ if (propertyTokens.size() > 0){
+ dateTimeEndDataTokens = propertyTokens;
}
- DateTimeEndData = DataReceived.begin()->second;
+ dateTimeEndData = dataReceived.begin()->second;
- DateTimeEndProcessed = true;
+ dateTimeEndProcessed = true;
}
// Process the data from ORGANIZER.
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "ORGANIZER");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, false, "ORGANIZER");
- if (DataReceived.begin() != DataReceived.end()){
+ if (dataReceived.begin() != dataReceived.end()){
- bool TokenData = false;
- string PropertyTokens;
+ bool tokenData = false;
+ string propertyTokens;
- PropertyNameData = (string*)&DataReceived.begin()->first;
+ propertyNameData = (string*)&dataReceived.begin()->first;
- PropertyData = SplitValues(*PropertyNameData);
+ propertyData = SplitValues(*propertyNameData);
- for(map::iterator iter = PropertyData.begin();
- iter != PropertyData.end(); iter++){
+ for(map::iterator iter = propertyData.begin();
+ iter != propertyData.end(); iter++){
if (iter->first == "CN"){
- OrganiserDataCommonName = iter->second;
+ organiserDataCommonName = iter->second;
} else if (iter->first == "DIR"){
- OrganiserDataDirectoryEntry = iter->second;
+ organiserDataDirectoryEntry = iter->second;
} else if (iter->first == "SENT-BY"){
- OrganiserDataSentByParam = iter->second;
+ organiserDataSentByParam = iter->second;
} else if (iter->first == "LANGUAGE"){
- OrganiserDataLanguage = iter->second;
+ organiserDataLanguage = iter->second;
} else {
- if (TokenData == false){
- TokenData = true;
+ if (tokenData == false){
+ tokenData = true;
} else {
- PropertyTokens += ";";
+ propertyTokens += ";";
}
- PropertyTokens += iter->first;
- PropertyTokens += "=";
- PropertyTokens += iter->second;
+ propertyTokens += iter->first;
+ propertyTokens += "=";
+ propertyTokens += iter->second;
}
}
- if (PropertyTokens.size() > 0){
+ if (propertyTokens.size() > 0){
- OrganiserDataTokens = PropertyTokens;
+ organiserDataTokens = propertyTokens;
}
- OrganiserData = DataReceived.begin()->second;
+ organiserData = dataReceived.begin()->second;
}
// Process the data from URL.
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, false, "URL");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, false, "URL");
- if (DataReceived.begin() != DataReceived.end()){
+ if (dataReceived.begin() != dataReceived.end()){
try {
- URLDataTokens = DataReceived.begin()->first.substr(4);
+ urlDataTokens = dataReceived.begin()->first.substr(4);
}
catch(const out_of_range &oor){
// Do nothing as there is no data.
}
- URLData = DataReceived.begin()->second;
+ urlData = dataReceived.begin()->second;
}
// Process the data from ATTENDEE.
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, true, "ATTENDEE");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, true, "ATTENDEE");
- ObjectSeekCount = 0;
+ objectSeekCount = 0;
- for(multimap::iterator iter = DataReceived.begin();
- iter != DataReceived.end();
+ for(multimap::iterator iter = dataReceived.begin();
+ iter != dataReceived.end();
++iter){
- AttendeeListMember.push_back("");
- AttendeeListDelegatedFrom.push_back("");
- AttendeeListDelegatedTo.push_back("");
- AttendeeListRole.push_back("");
- AttendeeListRSVP.push_back("");
- AttendeeListDirectoryEntry.push_back("");
- AttendeeListSentBy.push_back("");
- AttendeeListCommonName.push_back("");
- AttendeeListCalendarUserType.push_back("");
- AttendeeListParticipationStatus.push_back("");
- AttendeeListLanguage.push_back("");
- AttendeeListTokens.push_back("");
- AttendeeList.push_back("");
+ attendeeListMember.push_back("");
+ attendeeListDelegatedFrom.push_back("");
+ attendeeListDelegatedTo.push_back("");
+ attendeeListRole.push_back("");
+ attendeeListRSVP.push_back("");
+ attendeeListDirectoryEntry.push_back("");
+ attendeeListSentBy.push_back("");
+ attendeeListCommonName.push_back("");
+ attendeeListCalendarUserType.push_back("");
+ attendeeListParticipationStatus.push_back("");
+ attendeeListLanguage.push_back("");
+ attendeeListTokens.push_back("");
+ attendeeList.push_back("");
- bool TokenData = false;
- string PropertyTokens;
+ bool tokenData = false;
+ string propertyTokens;
- PropertyNameData = (string*)&iter->first;
+ propertyNameData = (string*)&iter->first;
- PropertyData = SplitValues(*PropertyNameData);
+ propertyData = SplitValues(*propertyNameData);
- for(map::iterator dataiter = PropertyData.begin();
- dataiter != PropertyData.end(); dataiter++){
+ for(map::iterator dataiter = propertyData.begin();
+ dataiter != propertyData.end(); dataiter++){
if (dataiter->first == "CUTYPE"){
- AttendeeListCalendarUserType[ObjectSeekCount] = dataiter->second;
+ attendeeListCalendarUserType[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "MEMBER"){
- AttendeeListMember[ObjectSeekCount] = dataiter->second;
+ attendeeListMember[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "ROLE"){
- AttendeeListRole[ObjectSeekCount] = dataiter->second;
+ attendeeListRole[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "PARTSTAT"){
- AttendeeListParticipationStatus[ObjectSeekCount] = dataiter->second;
+ attendeeListParticipationStatus[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "RSVP"){
- AttendeeListRSVP[ObjectSeekCount] = dataiter->second;
+ attendeeListRSVP[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "DELEGATED-TO"){
- AttendeeListDelegatedTo[ObjectSeekCount] = dataiter->second;
+ attendeeListDelegatedTo[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "DELEGATED-FROM"){
- AttendeeListDelegatedFrom[ObjectSeekCount] = dataiter->second;
+ attendeeListDelegatedFrom[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "SENT-BY"){
- AttendeeListSentBy[ObjectSeekCount] = dataiter->second;
+ attendeeListSentBy[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "CN"){
- AttendeeListCommonName[ObjectSeekCount] = dataiter->second;
+ attendeeListCommonName[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "DIR"){
- AttendeeListDirectoryEntry[ObjectSeekCount] = dataiter->second;
+ attendeeListDirectoryEntry[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "LANGUAGE"){
- AttendeeListLanguage[ObjectSeekCount] = dataiter->second;
+ attendeeListLanguage[objectSeekCount] = dataiter->second;
} else {
- if (TokenData == false){
- TokenData = true;
+ if (tokenData == false){
+ tokenData = true;
} else {
- PropertyTokens += ";";
+ propertyTokens += ";";
}
- PropertyTokens += dataiter->first;
- PropertyTokens += "=";
- PropertyTokens += dataiter->second;
+ propertyTokens += dataiter->first;
+ propertyTokens += "=";
+ propertyTokens += dataiter->second;
}
}
- if (PropertyTokens.size() > 0){
- AttendeeListTokens[ObjectSeekCount] = PropertyTokens;
+ if (propertyTokens.size() > 0){
+ attendeeListTokens[objectSeekCount] = propertyTokens;
}
- AttendeeList[ObjectSeekCount] = iter->second;
+ attendeeList[objectSeekCount] = iter->second;
- ObjectSeekCount++;
+ objectSeekCount++;
}
// Process the data from COMMENT.
- DataReceived = ProcessTextVectors(&ObjectName, &ObjectData, true, "COMMENT");
+ dataReceived = ProcessTextVectors(&objectName, &objectData, true, "COMMENT");
- ObjectSeekCount = 0;
+ objectSeekCount = 0;
- for(multimap::iterator iter = DataReceived.begin();
- iter != DataReceived.end();
+ for(multimap::iterator iter = dataReceived.begin();
+ iter != dataReceived.end();
++iter){
- CommentListTokens.push_back("");
- CommentListAltRep.push_back("");
- CommentListLanguage.push_back("");
- CommentList.push_back("");
+ commentListTokens.push_back("");
+ commentListAltRep.push_back("");
+ commentListLanguage.push_back("");
+ commentList.push_back("");
- bool TokenData = false;
- string PropertyTokens;
+ bool tokenData = false;
+ string propertyTokens;
- PropertyNameData = (string*)&iter->first;
+ propertyNameData = (string*)&iter->first;
- PropertyData = SplitValues(*PropertyNameData);
+ propertyData = SplitValues(*propertyNameData);
- for(map::iterator dataiter = PropertyData.begin();
- dataiter != PropertyData.end(); dataiter++){
+ for(map::iterator dataiter = propertyData.begin();
+ dataiter != propertyData.end(); dataiter++){
if (dataiter->first == "ALTREP"){
- CommentListAltRep[ObjectSeekCount] = dataiter->second;
+ commentListAltRep[objectSeekCount] = dataiter->second;
} else if (dataiter->first == "LANGUAGE"){
- CommentListLanguage[ObjectSeekCount] = dataiter->second;
+ commentListLanguage[objectSeekCount] = dataiter->second;
+
+ } else {
+
+ if (tokenData == false){
+ tokenData = true;
+ } else {
+ propertyTokens += ";";
+ }
+
+ propertyTokens += dataiter->first;
+ propertyTokens += "=";
+ propertyTokens += dataiter->second;
+
+ }
+
+ }
+
+ if (propertyTokens.size() > 0){
+ commentListTokens[objectSeekCount] = propertyTokens;
+ }
+
+ commentList[objectSeekCount] = iter->second;
+
+ objectSeekCount++;
+
+ }
+
+ // Process the data from FREEBUSY.
+
+ dataReceived = ProcessTextVectors(&objectName, &objectData, true, "FREEBUSY");
+
+ objectSeekCount = 0;
+
+ for(multimap::iterator iter = dataReceived.begin();
+ iter != dataReceived.end();
+ ++iter){
+
+ freeBusyListTokens.push_back("");
+ freeBusyListType.push_back("");
+ freeBusyList.push_back("");
+
+ bool tokenData = false;
+ string propertyTokens;
+
+ propertyNameData = (string*)&iter->first;
+
+ propertyData = SplitValues(*propertyNameData);
+
+ for(map::iterator dataiter = propertyData.begin();
+ dataiter != propertyData.end(); dataiter++){
+
+ if (dataiter->first == "FBTYPE"){
+
+ freeBusyListType[objectSeekCount] = dataiter->second;
+
+ } else {
+
+ if (tokenData == false){
+ tokenData = true;
+ } else {
+ propertyTokens += ";";
+ }
+
+ propertyTokens += dataiter->first;
+ propertyTokens += "=";
+ propertyTokens += dataiter->second;
+
+ }
+
+ }
+
+ if (propertyTokens.size() > 0){
+ freeBusyListTokens[objectSeekCount] = propertyTokens;
+ }
+
+ freeBusyList[objectSeekCount] = iter->second;
+
+ objectSeekCount++;
+
+ }
+
+ // Process the data from REQUEST-STATUS.
+
+ dataReceived = ProcessTextVectors(&objectName, &objectData, true, "REQUEST-STATUS");
+
+ objectSeekCount = 0;
+
+ for(multimap::iterator iter = dataReceived.begin();
+ iter != dataReceived.end();
+ ++iter){
+
+ requestStatusTokens.push_back("");
+ requestStatusLanguage.push_back("");
+ requestStatusData.push_back("");
+
+ bool tokenData = false;
+ string propertyTokens;
+
+ propertyNameData = (string*)&iter->first;
+
+ propertyData = SplitValues(*propertyNameData);
+
+ for(map::iterator dataiter = propertyData.begin();
+ dataiter != propertyData.end(); dataiter++){
+
+ if (dataiter->first == "LANGUAGE"){
+
+ requestStatusLanguage[objectSeekCount] = dataiter->second;
} else {
- if (TokenData == false){
- TokenData = true;
+ if (tokenData == false){
+ tokenData = true;
} else {
- PropertyTokens += ";";
+ propertyTokens += ";";
}
- PropertyTokens += dataiter->first;
- PropertyTokens += "=";
- PropertyTokens += dataiter->second;
+ propertyTokens += dataiter->first;
+ propertyTokens += "=";
+ propertyTokens += dataiter->second;
}
}
- if (PropertyTokens.size() > 0){
- CommentListTokens[ObjectSeekCount] = PropertyTokens;
+ if (propertyTokens.size() > 0){
+ requestStatusTokens[objectSeekCount] = propertyTokens;
}
- CommentList[ObjectSeekCount] = iter->second;
+ requestStatusData[objectSeekCount] = iter->second;
+
+ objectSeekCount++;
+
+ }
+
+ objectSeekCount = 0;
+
+ // Process data from X-*
+
+ for(vector::iterator iter = objectName.begin();
+ iter != objectName.end(); ++iter){
+
+ bool tokenData = false;
+ string propertyTokens;
+
+ if (iter->substr(0,2) == "X-" &&
+ iter->size() > 2){
+
+ xTokensData.push_back(objectData[objectSeekCount]);
+ xTokensDataTokens.push_back(objectName[objectSeekCount]);
+
+ }
- ObjectSeekCount++;
+ objectSeekCount++;
}