#include "../../vcard/vcard.h"
#include "../../common/textprocessing.h"
+using namespace std;
+
enum ContactLoadStatus{
CONTACTLOAD_UNITTESTFAIL = -1,
CONTACTLOAD_OK,
CONTACTLOAD_FILEBASESPECFAIL
};
+enum ContactSaveStatus{
+ CONTACTSAVE_UNITTESTFAIL = -1,
+ CONTACTSAVE_OK,
+};
+
enum ContactKindType{
CONTACTKIND_NONE,
CONTACTKIND_INDIVIDUAL,
void ProcessCalendarFreeBusy(wxString PropertySeg1, wxString PropertySeg2, int *FreeBusyAddressCount);
void ProcessKey(wxString PropertySeg1, wxString PropertySeg2, int *KeyCount);
void ProcessVendor(wxString PropertySeg1, wxString PropertySeg2, int *VendorCount);
+
+ // Save functions
+
+ void SaveTitle(map<int, wxString> *TitleList, map<int, wxString> *TitleListLanguage,
+ map<int, wxString> *TitleListAltID, map<int, wxString> *TitleListPID,
+ map<int, wxString> *TitleListType, map<int, int> *TitleListPref,
+ map<int, wxString> *TitleListTokens, wxString *SaveData, wxString DataType);
+ void SaveSource(map<int, wxString> *SourceList, map<int, wxString> *SourceListAltID,
+ map<int, wxString> *SourceListPID, map<int, wxString> *SourceListType,
+ map<int, wxString> *SourceListMediatype, map<int, int> *SourceListPref,
+ map<int, wxString> *SourceListTokens, wxString *SaveData);
+ void SaveNickname(map<int, wxString> *NicknameList, map<int, wxString> *NicknameListAltID,
+ map<int, wxString> *NicknameListPID, map<int, wxString> *NicknameListType,
+ map<int, wxString> *NicknameListLanguage, map<int, int> *NicknameListPref,
+ map<int, wxString> *NicknameListTokens, wxString *SaveData, wxString DataType);
+ void SaveTimezone(map<int, wxString> *TZList, map<int, wxString> *TZListAltID,
+ map<int, wxString> *TZListPID, map<int, wxString> *TZListType,
+ map<int, wxString> *TZListMediatype, map<int, int> *TZListPref,
+ map<int, wxString> *TZListTokens, wxString *SaveData, wxString DataType);
+ void SaveAddress(map<int, wxString> *AddressList, map<int, wxString> *AddressListTown,
+ map<int, wxString> *AddressListCounty, map<int, wxString> *AddressListPostCode,
+ map<int, wxString> *AddressListCountry, map<int, wxString> *AddressListLabel,
+ map<int, wxString> *AddressListLang, map<int, wxString> *AddressListAltID,
+ map<int, wxString> *AddressListPID, map<int, wxString> *AddressListGeo,
+ map<int, wxString> *AddressListTimezone, map<int, wxString> *AddressListType,
+ map<int, wxString> *AddressListMediatype, map<int, int> *AddressListPref,
+ map<int, wxString> *AddressListTokens, wxString *SaveData, wxString DataType);
+ void SaveEmail(map<int, wxString> *EmailList, map<int, wxString> *EmailListAltID,
+ map<int, wxString> *EmailListPID, map<int, wxString> *EmailListType,
+ map<int, int> *EmailListPref, map<int, wxString> *EmailListTokens,
+ wxString *SaveData, wxString DataType);
+ void SaveLanguage(map<int, wxString> *LanguageList, map<int, wxString> *LanguageListAltID,
+ map<int, wxString> *LanguageListPID, map<int, wxString> *LanguageListType,
+ map<int, int> *LangaugeListPref, map<int, wxString> *LanguageListTokens,
+ wxString *SaveData, wxString DataType);
+ void SaveGeoposition(map<int, wxString> *GeographyList, map<int, wxString> *GeographyListAltID,
+ map<int, wxString> *GeographyListPID, map<int, wxString> *GeographyListType,
+ map<int, wxString> *GeographyListMediatype, map<int, wxString> *GeographyListDataType,
+ map<int, int> *GeographyListPref, map<int, wxString> *GeographyListTokens,
+ wxString *SaveData, wxString DataType);
+ void SaveURL(map<int, wxString> *WebsiteList, map<int, wxString> *WebsiteListAltID,
+ map<int, wxString> *WebsiteListPID, map<int, wxString> *WebsiteListType,
+ map<int, wxString> *WebsiteListMediatype, map<int, int> *WebsiteListPref,
+ map<int, wxString> *WebsiteListTokens, wxString *SaveData, wxString DataType);
+ void SaveRole(map<int, wxString> *RoleList, map<int, wxString> *RoleListLanguage,
+ map<int, wxString> *RoleListAltID, map<int, wxString> *RoleListPID,
+ map<int, wxString> *RoleListType, map<int, int> *RoleListPref,
+ map<int, wxString> *RoleListTokens, wxString *SaveData, wxString DataType);
public:
std::map<int, wxString> GeneralGeographyListType;
std::map<int, wxString> GeneralGeographyListTokens;
std::map<int, wxString> GeneralGeographyListMediatype;
+ std::map<int, wxString> GeneralGeographyListDataType;
std::map<int, int> GeneralGeographyListPref;
std::map<int, wxString> GeneralRelatedList;
std::map<int, wxString> HomeGeographyListType;
std::map<int, wxString> HomeGeographyListTokens;
std::map<int, wxString> HomeGeographyListMediatype;
+ std::map<int, wxString> HomeGeographyListDataType;
std::map<int, int> HomeGeographyListPref;
std::map<int, wxString> HomeWebsiteList;
std::map<int, wxString> BusinessGeographyListType;
std::map<int, wxString> BusinessGeographyListTokens;
std::map<int, wxString> BusinessGeographyListMediatype;
+ std::map<int, wxString> BusinessGeographyListDataType;
std::map<int, int> BusinessGeographyListPref;
std::map<int, wxString> BusinessWebsiteList;
// Subroutines.
ContactLoadStatus LoadFile(wxString Filename);
+ ContactSaveStatus SaveFile(wxString Filename);
+ ContactSaveStatus SaveString(wxString *Data);
void ClearData();
};