X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FContactDataObject.h;h=f8e79bb4fbc3db24b96b7b8c71ceb00f80efc073;hb=45bd26d628a5b2832d3598a43a3d013b59a8896e;hp=00b9a7200d05c2cc7641a3a9eb7480cb5a222346;hpb=d2c744f3bcfe1ff78525e4311302f7ffd3a6a6c6;p=xestiaab%2F.git diff --git a/source/contacteditor/ContactDataObject.h b/source/contacteditor/ContactDataObject.h index 00b9a72..f8e79bb 100644 --- a/source/contacteditor/ContactDataObject.h +++ b/source/contacteditor/ContactDataObject.h @@ -20,17 +20,42 @@ #define __CLIENTDATAOBJECT_H__ #include +#include #include +#include + +#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 +}; + +enum PropertyType{ + PROPERTY_NONE, + PROPERTY_HOME, + PROPERTY_WORK }; class ContactDataObject{ public: + ContactKindType ContactKind = CONTACTKIND_NONE; + /* Items on General Tab */ wxString NameTitle; @@ -117,6 +142,7 @@ class ContactDataObject{ std::map GeneralTelephoneListPID; std::map GeneralTelephoneListType; std::map GeneralTelephoneListTokens; + std::map GeneralTelephoneListTypeInfo; std::map GeneralTelephoneListPref; std::map GeneralLanguageList; @@ -238,6 +264,7 @@ class ContactDataObject{ std::map HomeTelephoneListPID; std::map HomeTelephoneListType; std::map HomeTelephoneListTokens; + std::map HomeTelephoneListTypeInfo; std::map HomeTelephoneListPref; std::map HomeLanguageList; @@ -358,6 +385,7 @@ class ContactDataObject{ std::map BusinessTelephoneListAltID; std::map BusinessTelephoneListPID; std::map BusinessTelephoneListType; + std::map BusinessTelephoneListTypeInfo; std::map BusinessTelephoneListTokens; std::map BusinessTelephoneListPref; @@ -449,6 +477,7 @@ class ContactDataObject{ std::map GroupsListAltID; std::map GroupsListPID; std::map GroupsListType; + std::map GroupsListMediaType; std::map GroupsListTokens; std::map GroupsListPref; @@ -538,7 +567,31 @@ 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 ProcessAddress(wxString PropertySeg1, wxString PropertySeg2, int *AddressCount); + void ProcessEmail(wxString PropertySeg1, wxString PropertySeg2, int *EmailCount); + void ProcessIM(wxString PropertySeg1, wxString PropertySeg2, int *IMCount); + void ProcessTelephone(wxString PropertySeg1, wxString PropertySeg2, int *TelephoneCount); }; +void SplitValues(wxString *PropertyLine, + std::map *SplitPoints, + std::map *SplitLength, + int intSize); + +void CheckType(wxString *PropertySeg1, + std::map *SplitPoints, + std::map *SplitLength, + int *intPrevValue, + PropertyType *intType); + #endif \ No newline at end of file