X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fvcard%2Fvcard34conv-v4conv.cpp;h=f9a70ca3617733d54aa6cc7251158b6f793aff08;hb=a776c519f9846a8d0f2b1b9241e10b3101ad7296;hp=6d64eb353a775babf92d1cc887c80503ad22f828;hpb=fb95962b20989702f8d689875a977d150c087660;p=xestiaab%2F.git
diff --git a/source/vcard/vcard34conv-v4conv.cpp b/source/vcard/vcard34conv-v4conv.cpp
index 6d64eb3..f9a70ca 100644
--- a/source/vcard/vcard34conv-v4conv.cpp
+++ b/source/vcard/vcard34conv-v4conv.cpp
@@ -1,3 +1,21 @@
+// vcard34conv-v4conv.cpp - vCard34Conv Object vCard4 conversion subroutines.
+//
+// (c) 2012-2015 Xestia Software Development.
+//
+// This file is part of Xestia Address Book.
+//
+// Xestia Address Book 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,
+// 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 Address Book. If not, see
+
#include "vcard34conv.h"
#include "vcard.h"
#include "../version.h"
@@ -10,6 +28,8 @@
bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
+ // Convert a vCard 3.0 format into the vCard 4.0 format.
+
std::map ContactFileLines;
std::map ContactFileProcessed;
std::map ContactFileProcessedWorking;
@@ -37,21 +57,13 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
bool PropertyFind = TRUE;
bool ExtraLineSeek = TRUE;
bool ExtraLineSeekSub = TRUE;
- bool BirthdayProcessed = FALSE;
- bool AnniversaryProcessed = FALSE;
- bool FNProcessed = FALSE;
- bool GenderProcessed = FALSE;
- bool NameProcessed = FALSE;
bool FNFirst = FALSE;
bool NicknameFirst = FALSE;
bool TitleFirst = FALSE;
bool OrganisationFirst = FALSE;
bool NoteFirst = FALSE;
bool PhotoFirst = FALSE;
- bool LogoFirst = FALSE;
- bool NameFirst = FALSE;
bool FoundData = FALSE;
- int intExtraNickname = 0;
wxString wxSProperty;
wxString wxSPropertyVCARD4;
wxString wxSPropertySeg1;
@@ -87,7 +99,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
bool XVCard4Value = FALSE;
bool VCard3Value = FALSE;
- bool SeekItemData = FALSE;
wxString strVer;
@@ -101,12 +112,12 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
vCardOut->AddRaw(wxT("VERSION"), wxT("4.0"));
vCardOut->AddRaw(wxT("PRODID"), strVer);
- // FN
- // NICKNAME
- // TITLE
- // ORG
- // NOTE
- // PHOTO
+ // FN
+ // NICKNAME
+ // TITLE
+ // ORG
+ // NOTE
+ // PHOTO
// Process the properties which have X-FIRST.
@@ -205,13 +216,10 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
if (wxSPropertyNextLine.Mid(0, 1) == wxT(" ") || wxSPropertyNextLine.Mid(0, 1) == wxT("\t")){
wxSPropertyNextLine.Remove(0, 1);
- //wxSPropertyNextLine.Trim(FALSE);
- //ContactLine.Trim();
ContactLine.Append(wxSPropertyNextLine);
DataLineProcessOriginal.insert(std::make_pair(DataLineSeekOrig, iterboolsub->first));
DataLineSeekOrig++;
- //iterboolsub->second = TRUE;
-
+
} else {
ExtraLineSeek = FALSE;
@@ -280,16 +288,11 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
for (std::map::iterator itersub = ContactFileLines.begin();
itersub != ContactFileLines.end(); ++itersub){
- //DataLineProcess = DataLineProcessOriginal;
- //DataLineSeek = DataLineSeekOrig;
-
ContactLineSub = itersub->second;
ExtraLineSeekSub = TRUE;
iterboolsub = ContactFileProcessed.find(itersub->first);
- //std::map::iterator iterorig = ContactFileProcessed.find(itersub->first);
- //std::map::iterator itersuborig;
// Ignore certain variables as they are not needed.
@@ -330,14 +333,10 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
continue;
}
-
- //std::map::iterator itersub = iter;
DataLineProcess.insert(std::make_pair(DataLineSeek, itersub->first));
DataLineSeek++;
-
-
while (ExtraLineSeekSub == TRUE){
if (itersub == ContactFileLines.end()){
@@ -355,10 +354,7 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
if (wxSPropertyNextLine.Mid(0, 1) == wxT(" ") || wxSPropertyNextLine.Mid(0, 1) == wxT("\t")){
wxSPropertyNextLine.Remove(0, 1);
- //wxSPropertyNextLine.Trim(FALSE);
- //ContactLine.Trim();
ContactLineSub.Append(wxSPropertyNextLine);
- //iterboolsub->second = TRUE;
DataLineProcess.insert(std::make_pair(DataLineSeek, itersub->first));
DataLineSeek++;
@@ -370,55 +366,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
}
}
-
- /*while (ExtraLineSeekSub == TRUE && iterboolsub != ContactFileProcessedWorking.end()){
-
- // Check if there is extra data on the next line
- // (indicated by space or tab at the start) and add data.
-
- itersub++;
-
- iterboolsub = ContactFileProcessedWorking.find(itersub->first);
-
- if (iterboolsub->second == TRUE){
-
- continue;
-
- }
-
- if (itersub == ContactFileLines.end()){
-
- break;
-
- }
-
- wxSPropertyNextLine = itersub->second;
-
- if (wxSPropertyNextLine.Mid(0, 1) == wxT(" ") || wxSPropertyNextLine.Mid(0, 1) == wxT("\t")){
-
- wxSPropertyNextLine.Remove(0, 1);
- //wxSPropertyNextLine.Trim(FALSE);
- //ContactLine.Trim();
- ContactLineSub.Append(wxSPropertyNextLine);
- //iterboolsub->second = TRUE;
- DataLineProcess.insert(std::make_pair(DataLineSeek, itersub->first));
- DataLineSeek++;
-
- } else {
-
- itersub--;
- ExtraLineSeekSub = FALSE;
-
- }
-
- if (iterboolsub == ContactFileProcessedWorking.end()){
-
- break;
- ExtraLineSeekSub = FALSE;
-
- }
-
- }*/
ContactLineSubLen = ContactLineSub.Len();
PropertyFind = TRUE;
@@ -519,8 +466,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
TempPropertyData.clear();
} else {
-
- wxT("PHOTODANCEMATCH!");
for (std::map::iterator xfiter = TempPropertyData.begin();
xfiter != TempPropertyData.end(); ++xfiter){
@@ -680,8 +625,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
wxSPropertyData.Clear();
wxSPropertyXVCard4Value.Clear();
wxSPropertyNameConv.Clear();
- //FinalPropertyData.clear();
- //FinalPropValue.clear();
PropertyData.clear();
PropertyLock.clear();
ContactLine.clear();
@@ -788,8 +731,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
if (wxSPropertyNextLine.Mid(0, 1) == wxT(" ") || wxSPropertyNextLine.Mid(0, 1) == wxT("\t")){
wxSPropertyNextLine.Remove(0, 1);
- //wxSPropertyNextLine.Trim(FALSE);
- //ContactLine.Trim();
ContactLine.Append(wxSPropertyNextLine);
iterboolsub->second = TRUE;
@@ -897,8 +838,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
wxSPropertyData.Clear();
wxSPropertyXVCard4Value.Clear();
wxSPropertyNameConv.Clear();
- //FinalPropertyData.clear();
- //FinalPropValue.clear();
PropertyData.clear();
PropertyLock.clear();
ContactLine.clear();
@@ -907,41 +846,7 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
}
- int FNCount = 0;
- int NameCount = 0;
- int NicknameCount = 0;
- int ADRCount = 0;
- int EmailCount = 0;
- int IMPPCount = 0;
- int TelCount = 0;
- int LangCount = 0;
- int TZCount = 0;
- int GeoCount = 0;
- int URLCount = 0;
- int RelatedCount = 0;
- int TitleCount = 0;
- int RoleCount = 0;
- int OrgCount = 0;
- int NoteCount = 0;
- int CategoryCount = 0;
- int PhotoCount = 0;
- int LogoCount = 0;
- int SoundCount = 0;
- int CalAdrCount = 0;
- int CalReqAdrCount = 0;
- int FreeBusyCount = 0;
- int KeyCount = 0;
- int VendorCount = 0;
- int XTokenCount = 0;
- int ItemSeek = 1;
- int MaxItemNumber = 0;
- int ItemOrdered = 0;
- int ItemUnordered = 0;
- int ItemNumber = 0;
size_t ItemStringSeekLen = 0;
- int ItemSeekSub = 0;
- int ItemSeekSecSub = 0;
- //int intValueSeek = 1;
std::map NumberedName;
std::map NumberedData;
@@ -982,10 +887,8 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
XVCard4Value = FALSE;
VCard3Value = FALSE;
- SeekItemData = FALSE;
std::map ItemMapIndex;
- //std::map ItemNameIndex;
// Look for item in the initial line, process into a proper line then
// look for other lines with the same item association.
@@ -1019,7 +922,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
// Get Item data.
- //ContactLineSeekSub = ContactLineSeek;
std::map::iterator itersub = iter;
while (ExtraLineSeek == TRUE){
@@ -1053,8 +955,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
if (wxSPropertyNextLine.Mid(0, 1) == wxT(" ") || wxSPropertyNextLine.Mid(0, 1) == wxT("\t")){
wxSPropertyNextLine.Remove(0, 1);
- //wxSPropertyNextLine.Trim(FALSE);
- //ContactLine.Trim();
ContactLine.Append(wxSPropertyNextLine);
iterboolsub->second = TRUE;
@@ -1155,8 +1055,7 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
iterboolsub->second = TRUE;
}
-
- //ItemNameIndex.insert(std::make_pair(ItemStringSeek, ItemPropName));
+
ItemListData->insert(std::make_pair(ItemIndex, ContactLineSub));
ItemMapIndex.insert(std::make_pair(ItemStringSeek, ItemListData));
@@ -1237,8 +1136,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
wxSPropertyData.Clear();
wxSPropertyXVCard4Value.Clear();
wxSPropertyNameConv.Clear();
- //FinalPropertyData.clear();
- //FinalPropValue.clear();
PropertyData.clear();
PropertyLock.clear();
ContactLine.clear();
@@ -1264,8 +1161,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
wxSPropertyData.Clear();
wxSPropertyXVCard4Value.Clear();
wxSPropertyNameConv.Clear();
- //FinalPropertyData.clear();
- //FinalPropValue.clear();
PropertyData.clear();
PropertyLock.clear();
ContactLine.clear();
@@ -1328,8 +1223,6 @@ bool vCard34Conv::ConvertToV4(wxString *wxSData, vCard *vCardOut){
VCard3Value = FALSE;
TempData.clear();
- //PropertyData.clear();
- //PropertyLock.clear();
}