Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added NICKNAME to the SaveString function of ContactDataObject
[xestiaab/.git] / source / contacteditor / cdo / ContactDataObject.h
index 6317312..e0df47f 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.
 //
 #include <map>
 #include <wx/tokenzr.h>
 
-#include "../vcard/vcard.h"
-#include "../common/textprocessing.h"
+#include "../../vcard/vcard.h"
+#include "../../common/textprocessing.h"
+
+using namespace std;
 
 enum ContactLoadStatus{
        CONTACTLOAD_UNITTESTFAIL = -1,
@@ -36,6 +38,11 @@ enum ContactLoadStatus{
        CONTACTLOAD_FILEBASESPECFAIL
 };
 
+enum ContactSaveStatus{
+       CONTACTSAVE_UNITTESTFAIL = -1,
+       CONTACTSAVE_OK, 
+};
+
 enum ContactKindType{
        CONTACTKIND_NONE,
        CONTACTKIND_INDIVIDUAL,
@@ -88,6 +95,21 @@ 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);
 
        public:
 
@@ -110,10 +132,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 +162,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 +205,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 +216,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 +240,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 +330,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 +341,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 +365,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 +446,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 +457,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 +481,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 +632,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