Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added source, header and unit tests for TZ vCard property in the ContactDataObject.
[xestiaab/.git] / source / contacteditor / ContactDataObject.h
index 2c6b394..abf22dd 100644 (file)
 #include <wx/wx.h>
 #include <wx/file.h>
 #include <map>
+#include <wx/tokenzr.h>
+
 #include "../vcard/vcard.h"
+#include "../common/textprocessing.h"
 
 enum ContactLoadStatus{
        CONTACTLOAD_UNITTESTFAIL = -1,
+       CONTACTLOAD_OK,
        CONTACTLOAD_FILEMISSING,
        CONTACTLOAD_FILEERROR,
        CONTACTLOAD_FILEINVALIDFORMAT,
        CONTACTLOAD_FILEBASESPECFAIL
 };
 
+enum ContactKindType{
+       CONTACTKIND_NONE,
+       CONTACTKIND_INDIVIDUAL,
+       CONTACTKIND_GROUP,
+       CONTACTKIND_ORGANISATION,
+       CONTACTKIND_LOCATION
+};
+
+enum PropertyType{
+       PROPERTY_NONE,
+       PROPERTY_HOME,
+       PROPERTY_WORK
+};
+
 class ContactDataObject{
 
        public:
 
+       ContactKindType ContactKind = CONTACTKIND_NONE;
+
        /* Items on General Tab */
 
        wxString NameTitle;
@@ -454,6 +474,7 @@ class ContactDataObject{
        std::map<int, wxString> GroupsListAltID;
        std::map<int, wxString> GroupsListPID;
        std::map<int, wxString> GroupsListType;
+       std::map<int, wxString> GroupsListMediaType;
        std::map<int, wxString> GroupsListTokens;
        std::map<int, int> GroupsListPref;
        
@@ -543,7 +564,27 @@ class ContactDataObject{
        // Subroutines.
        
        ContactLoadStatus LoadFile(wxString Filename);
+       void ProcessKind(wxString KindData);
+       void ProcessMember(wxString PropertySeg1, wxString PropertySeg2, int *GroupCount);
+       void ProcessFN(wxString PropertySeg1, wxString PropertySeg2, int *FNCount);
+       void ProcessN(wxString PropertySeg1, wxString PropertySeg2);
+       void ProcessNickname(wxString PropertySeg1, wxString PropertySeg2, int *NicknameCount);
+       void ProcessGender(wxString PropertySeg1, wxString PropertySeg2);
+       void ProcessBirthday(wxString PropertySeg1, wxString PropertySeg2);
+       void ProcessAnniversary(wxString PropertySeg1, wxString PropertySeg2);
+       void ProcessTimeZone(wxString PropertySeg1, wxString PropertySeg2, int *TimeZoneCount);
 
 };
 
+void SplitValues(wxString *PropertyLine, 
+       std::map<int,int> *SplitPoints, 
+       std::map<int,int> *SplitLength, 
+       int intSize);
+       
+void CheckType(wxString *PropertySeg1, 
+       std::map<int,int> *SplitPoints, 
+       std::map<int,int> *SplitLength, 
+       int *intPrevValue, 
+       PropertyType *intType);
+
 #endif
\ No newline at end of file
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