1 // vcard34conv.h - vCard34Conv Object header
3 // (c) 2012-2015 Xestia Software Development.
5 // This file is part of Xestia Address Book.
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
21 #include <wx/arrstr.h>
30 wxArrayString SettingNames;
31 wxArrayString SettingValues;
39 bool ConvertToV3(wxString Filename, wxString *wxSData);
40 bool ConvertToV4(wxString *wxSData, vCard *vCardOut);
42 void SplitValues(wxString *PropertyLine,
43 std::map<int,int> *SplitPoints,
44 std::map<int,int> *SplitLength,
46 void SplitValuesData(wxString *PropertyLine,
47 std::map<int,int> *SplitPoints,
48 std::map<int,int> *SplitLength,
50 std::map<wxString, wxString> *SplitData);
51 void ConvertV4PropertyProc(wxString *wxSPropertyName,
52 wxString *wxSPropertySeg1Ptr, wxString *wxSPropertySeg2Ptr,
53 wxString *wxSPropertyPropValuesOut, wxString *wxSPropertyDataOut,
54 wxString *wxSPropertyXVCard4Value, wxString *wxSPropertyDataNameOut,
55 std::map<wxString, wxString> *PropertyData,
56 std::map<wxString, bool> *PropertyLock,
57 bool ProcessItemData, bool *VCardV3Value, bool *XVCardV4Value);
58 void ProcessCaptureStringsB () {} ;
59 void ProcessCaptureStringsProc(wxString *strCapture);
61 template<typename StringCapture, typename... Args>
62 void ProcessCaptureStringsB(StringCapture *string, Args*... args) {
64 ProcessCaptureStringsProc(string);
65 ProcessCaptureStringsB(args...);
69 template<typename... Args>
70 void ProcessCaptureStrings(Args*... args) {
72 //int intSeekSelectedData = 0;
74 ProcessCaptureStringsB(args...);