Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added property value, ALTID, LANGUAGE source, header and unit tests for the N vCard...
[xestiaab/.git] / source / contacteditor / ContactDataObject.h
index 00b9a72..ead05b8 100644 (file)
 #define __CLIENTDATAOBJECT_H__
 
 #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_FILEMISSING
+       CONTACTLOAD_OK,
+       CONTACTLOAD_FILEMISSING,
+       CONTACTLOAD_FILEERROR,
+       CONTACTLOAD_FILEINVALIDFORMAT,
+       CONTACTLOAD_FILEBASESPECFAIL
+};
+
+enum ContactKindType{
+       CONTACTKIND_NONE,
+       CONTACTKIND_INDIVIDUAL,
+       CONTACTKIND_GROUP,
+       CONTACTKIND_ORGANISATION,
+       CONTACTKIND_LOCATION
 };
 
 class ContactDataObject{
 
        public:
 
+       ContactKindType ContactKind = CONTACTKIND_NONE;
+
        /* Items on General Tab */
 
        wxString NameTitle;
@@ -449,6 +468,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;
        
@@ -538,7 +558,16 @@ 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 SplitValues(wxString *PropertyLine, 
+       std::map<int,int> *SplitPoints, 
+       std::map<int,int> *SplitLength, 
+       int intSize);
+
 #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