Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added LANG to the SaveString function of ContactDataObject
[xestiaab/.git] / source / contacteditor / cdo / ContactDataObject.h
index 4ff7478..5cc94c9 100644 (file)
@@ -1,6 +1,6 @@
 // ContactDataObject.h - Client Data Object header.
 //
-// (c) 2012-2015 Xestia Software Development.
+// (c) 2012-2016 Xestia Software Development.
 //
 // This file is part of Xestia Address Book.
 //
@@ -27,6 +27,8 @@
 #include "../../vcard/vcard.h"
 #include "../../common/textprocessing.h"
 
+using namespace std;
+
 enum ContactLoadStatus{
        CONTACTLOAD_UNITTESTFAIL = -1,
        CONTACTLOAD_OK,
@@ -36,6 +38,11 @@ enum ContactLoadStatus{
        CONTACTLOAD_FILEBASESPECFAIL
 };
 
+enum ContactSaveStatus{
+       CONTACTSAVE_UNITTESTFAIL = -1,
+       CONTACTSAVE_OK, 
+};
+
 enum ContactKindType{
        CONTACTKIND_NONE,
        CONTACTKIND_INDIVIDUAL,
@@ -88,6 +95,41 @@ class ContactDataObject{
        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);
 
        public:
 
@@ -110,10 +152,13 @@ class ContactDataObject{
        wxString BirthdayAltID;
        wxString BirthdayCalScale;
        wxString BirthdayTokens;
+       bool BirthdayText = FALSE;
+       
        wxString Anniversary;
        wxString AnniversaryAltID;
        wxString AnniversaryCalScale;
        wxString AnniversaryTokens;
+       bool AnniversaryText = FALSE;
        
        wxString Gender;
        wxString GenderDetails;
@@ -137,12 +182,6 @@ class ContactDataObject{
        std::map<int, wxString> ClientPIDList;
        std::map<int, wxString> ClientPIDListTokens;
 
-       /* We don't use these at the moment but we want to keep
-         them for compatability reasons */
-
-       /*std::map<int, wxString> ExtraFullNames;*/
-       /*std::map<int, wxString> ExtraNicknames;*/
-
        std::map<int, wxString> FullNamesList;  
        std::map<int, wxString> FullNamesListType;
        std::map<int, wxString> FullNamesListLanguage;
@@ -186,6 +225,7 @@ class ContactDataObject{
        std::map<int, wxString> GeneralIMListAltID;
        std::map<int, wxString> GeneralIMListPID;
        std::map<int, wxString> GeneralIMListType;
+       std::map<int, wxString> GeneralIMListTypeInfo;
        std::map<int, wxString> GeneralIMListTokens;
        std::map<int, wxString> GeneralIMListMediatype;
        std::map<int, int> GeneralIMListPref;
@@ -196,6 +236,7 @@ class ContactDataObject{
        std::map<int, wxString> GeneralTelephoneListType;
        std::map<int, wxString> GeneralTelephoneListTokens;
        std::map<int, wxString> GeneralTelephoneListTypeInfo;
+       std::map<int, wxString> GeneralTelephoneListDataType;
        std::map<int, int> GeneralTelephoneListPref;
        
        std::map<int, wxString> GeneralLanguageList;
@@ -219,6 +260,7 @@ class ContactDataObject{
        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;
@@ -308,6 +350,7 @@ class ContactDataObject{
        std::map<int, wxString> HomeIMListAltID;
        std::map<int, wxString> HomeIMListPID;
        std::map<int, wxString> HomeIMListType;
+       std::map<int, wxString> HomeIMListTypeInfo;
        std::map<int, wxString> HomeIMListTokens;
        std::map<int, wxString> HomeIMListMediatype;
        std::map<int, int> HomeIMListPref;
@@ -318,6 +361,7 @@ class ContactDataObject{
        std::map<int, wxString> HomeTelephoneListType;
        std::map<int, wxString> HomeTelephoneListTokens;
        std::map<int, wxString> HomeTelephoneListTypeInfo;
+       std::map<int, wxString> HomeTelephoneListDataType;
        std::map<int, int> HomeTelephoneListPref;
        
        std::map<int, wxString> HomeLanguageList;
@@ -341,6 +385,7 @@ class ContactDataObject{
        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;
@@ -421,6 +466,7 @@ class ContactDataObject{
        std::map<int, wxString> BusinessIMListAltID;
        std::map<int, wxString> BusinessIMListPID;
        std::map<int, wxString> BusinessIMListType;
+       std::map<int, wxString> BusinessIMListTypeInfo;
        std::map<int, wxString> BusinessIMListTokens;
        std::map<int, wxString> BusinessIMListMediatype;
        std::map<int, int> BusinessIMListPref;
@@ -431,6 +477,7 @@ class ContactDataObject{
        std::map<int, wxString> BusinessTelephoneListType;
        std::map<int, wxString> BusinessTelephoneListTypeInfo;
        std::map<int, wxString> BusinessTelephoneListTokens;
+       std::map<int, wxString> BusinessTelephoneListDataType;
        std::map<int, int> BusinessTelephoneListPref;
        
        std::map<int, wxString> BusinessLanguageList;
@@ -454,6 +501,7 @@ class ContactDataObject{
        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;
@@ -604,6 +652,9 @@ class ContactDataObject{
        // Subroutines.
        
        ContactLoadStatus LoadFile(wxString Filename);
+       ContactSaveStatus SaveFile(wxString Filename);
+       ContactSaveStatus SaveString(wxString *Data);
+       void ClearData();
 
 };
 
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