Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added SaveTitle function to the ContactDataObject
[xestiaab/.git] / source / contacteditor / cdo / ContactDataObject.h
index 4ff7478..b9bfdf1 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,13 @@ 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);
 
        public:
 
@@ -110,10 +124,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 +154,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 +197,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 +208,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 +232,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 +322,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 +333,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 +357,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 +438,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 +449,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 +473,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 +624,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