Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Move INSTALL, LICENSE, README, THANKS and TODO into root directory
[xestiaab/.git] / source / vcard / vcard34conv.h
1 // vcard34conv.h - vCard34Conv Object header
2 //
3 // (c) 2012-2015 Xestia Software Development.
4 //
5 // This file is part of Xestia Address Book.
6 //
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.
10 //
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.
15 //
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/>
19 #include <iostream>
20 #include <wx/wx.h>
21 #include <wx/arrstr.h>
22 #include <map>
23 #include "vcard.h"
25 #ifndef VCARD34CONV_H
26 #define VCARD34CONV_H
28 class vCard34Conv{
29 private:
30     wxArrayString SettingNames;
31     wxArrayString SettingValues;
32     int SettingCount;
33     bool vCardBegin;
34     bool vCardEnd;
35     bool vCardFN;
36     float vCardVersion;
37 public:
38     vCard34Conv();
39     bool ConvertToV3(wxString Filename, wxString *wxSData);
40     bool ConvertToV4(wxString *wxSData, vCard *vCardOut);
41 private:
42     void SplitValues(wxString *PropertyLine, 
43         std::map<int,int> *SplitPoints, 
44         std::map<int,int> *SplitLength, 
45         int intSize);
46     void SplitValuesData(wxString *PropertyLine, 
47         std::map<int,int> *SplitPoints, 
48         std::map<int,int> *SplitLength, 
49         int intSize,
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);
60         
61         template<typename StringCapture, typename... Args>
62         void ProcessCaptureStringsB(StringCapture *string, Args*... args) {
64                 ProcessCaptureStringsProc(string);
65                 ProcessCaptureStringsB(args...);
67         }
68                 
69         template<typename... Args>
70         void ProcessCaptureStrings(Args*... args) {
72                 //int intSeekSelectedData = 0;
74                 ProcessCaptureStringsB(args...);
75         
76         }
77 };
79 #endif
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