Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added CLIENTPIDMAP to ConvertToV3
[xestiaab/.git] / source / vcard / vcard34conv-v3conv.cpp
index 8610fd7..a518f8c 100644 (file)
@@ -1,3 +1,21 @@
+// vcard34conv-v3conv.cpp - vCard34Conv Object vCard3 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 <http://www.gnu.org/licenses/>
+
 #include "vcard34conv.h"
 #include "vcard.h"
 #include "../version.h"
@@ -656,23 +674,23 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                        
                        intPrevValue = 6;
                        
-                    // TODO: Check in value for X-ABLabel and use it if it is there.
+                       // TODO: Check in value for X-ABLabel and use it if it is there.
                     
-                    if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                        ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".EMAIL"), wxSPropertySeg2);
-                        ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-ABLabel"), _("E-mail Address"));
-                        ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-VCARD4-EMAIL"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".EMAIL"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-ABLabel"), _("E-mail Address"));
+                               ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-VCARD4-EMAIL"), wxSPropertySeg2);
                                                 
-                    } else {
+                       } else {
                         
-                        ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".EMAIL"), wxSPropertySeg2);
-                        ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-ABLabel"), _("E-mail Address"));
-                        ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-VCARD4-EMAIL;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".EMAIL"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-ABLabel"), _("E-mail Address"));
+                               ContactDatav3.AddRaw(wxT("item") + wxString::Format(wxT("%i"), ItemSeek) + wxT(".X-VCARD4-EMAIL;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
                         
-                    }
+                       }
                     
-                    ItemSeek++;
+                       ItemSeek++;
                
                } else if (wxSProperty == wxT("IMPP")){
 
@@ -708,7 +726,7 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                                                                
                        }
                     
-            ItemSeek++;
+                       ItemSeek++;
                
                } else if (wxSProperty == wxT("TEL")){
                
@@ -958,15 +976,15 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                        
                        intPrevValue = 5;
                        
-            if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                ContactDatav3.AddRaw(wxT("X-VCARD4-LANG"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-LANG"), wxSPropertySeg2);
                         
-            } else {
+                       } else {
                         
-                ContactDatav3.AddRaw(wxT("X-VCARD4-LANG;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-LANG;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
                         
-            }
+                       }
                
                } else if (wxSProperty == wxT("GEO")){
                
@@ -1001,15 +1019,15 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                        
                        }
                        
-                    if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-GEO;X-GEOTYPE=") + strFinalType, wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-GEO;X-GEOTYPE=") + strFinalType, wxSPropertySeg2);
                         
-                    } else {
+                       } else {
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-GEO;X-GEOTYPE=") + strFinalType + wxT(";") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-GEO;X-GEOTYPE=") + strFinalType + wxT(";") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
                         
-                    }
+                       }
                
                } else if (wxSProperty == wxT("RELATED")){
                        
@@ -1358,15 +1376,15 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                        
                        intPrevValue = 11;
                        
-                    if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-CATEGORIES"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CATEGORIES"), wxSPropertySeg2);
    
-                    } else {
+                       } else {
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-CATEGORIES;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CATEGORIES;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
 
-                    }
+                       }
                        
                } else if (wxSProperty == wxT("PHOTO")) {
                
@@ -1568,15 +1586,15 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
             
                        intPrevValue = 7;
                        
-            if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                ContactDatav3.AddRaw(wxT("X-VCARD4-CALURI"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CALURI"), wxSPropertySeg2);
 
-            } else {
+                       } else {
                         
-                ContactDatav3.AddRaw(wxT("X-VCARD4-CALURI;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CALURI;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
 
-            }
+                       }
                
                } else if (wxSProperty == wxT("CALADRURI")){
 
@@ -1591,15 +1609,15 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                        
                        intPrevValue = 10;
                        
-                    if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-CALADRURI"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CALADRURI"), wxSPropertySeg2);
 
-                    } else {
+                       } else {
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-CALADRURI;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CALADRURI;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
 
-                    }
+                       }
                
                } else if (wxSProperty == wxT("FBURL")){
                
@@ -1614,15 +1632,15 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
             
                        intPrevValue = 6;
                        
-                    if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-FBURL"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-FBURL"), wxSPropertySeg2);
 
-                    } else {
+                       } else {
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-FBURL;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-FBURL;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
 
-                    }
+                       }
                
                } else if (wxSProperty == wxT("KEY")){
                
@@ -1637,15 +1655,15 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                        
                        intPrevValue = 4;
                                                
-            if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                ContactDatav3.AddRaw(wxT("X-VCARD4-KEY"), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-KEY"), wxSPropertySeg2);
 
-            } else {
+                       } else {
                         
-                ContactDatav3.AddRaw(wxT("X-VCARD4-KEY;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-KEY;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
 
-            }
+                       }
                
                } else if (wxSProperty == wxT("UID")){
                
@@ -1671,30 +1689,48 @@ bool vCard34Conv::ConvertToV3(wxString Filename, wxString *wxSData){
                        
                        }
 
-                    if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-") + wxSProperty, wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-") + wxSProperty, wxSPropertySeg2);
 
-                    } else {
+                       } else {
                         
-                        ContactDatav3.AddRaw(wxT("X-VCARD4-") + wxSProperty + wxT(";") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-") + wxSProperty + wxT(";") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
 
-                    }
+                       }
                
                } else if (wxSProperty.Mid(0, 2) == wxT("X-")){
                        
                        size_t intPrevValue = (wxSProperty.Len() + 1);
                        
-            if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
                         
-                ContactDatav3.AddRaw(wxSProperty, wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxSProperty, wxSPropertySeg2);
 
-            } else {
+                       } else {
                         
-                ContactDatav3.AddRaw(wxSProperty + wxT(";") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+                               ContactDatav3.AddRaw(wxSProperty + wxT(";") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
 
-            }
+                       }
+                       
+               } else if (wxSProperty.Mid(0, 12) == wxT("CLIENTPIDMAP")){
+               
+                       // Process the Client PID maps.
+                       
+                       int intPrevValue = 14;
+                       
+                       intPrevValue = ;
                        
+                       if (((QuoteBreakPoint + 1) - intPrevValue) <= 0){
+                        
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CLIENTPIDMAP"), wxSPropertySeg2);
+
+                       } else {
+                        
+                               ContactDatav3.AddRaw(wxT("X-VCARD4-CLIENTPIDMAP;") + ContactLine.Mid(intPrevValue, ((QuoteBreakPoint + 1) - (intPrevValue + 1))), wxSPropertySeg2);
+
+                       }
+               
                }
                
                // Reset the variables.
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