X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FContactDataObject.h;h=0c788ddfc029b4ca90659c122ecb3ab9847c1c2c;hb=db50ff1e15d18ad7e4451279f91086cc4d6050c5;hp=0792954f5b0e8d10566b0ae664367aa668fa31f0;hpb=702ac5127f25499fcd966ae5d9bbc9a6c8e37299;p=xestiaab%2F.git diff --git a/source/contacteditor/ContactDataObject.h b/source/contacteditor/ContactDataObject.h index 0792954..0c788dd 100644 --- a/source/contacteditor/ContactDataObject.h +++ b/source/contacteditor/ContactDataObject.h @@ -44,8 +44,49 @@ enum ContactKindType{ CONTACTKIND_LOCATION }; +enum PropertyType{ + PROPERTY_NONE, + PROPERTY_HOME, + PROPERTY_WORK +}; + class ContactDataObject{ + private: + + void ProcessKind(wxString KindData); + void ProcessSource(wxString PropertySeg1, wxString PropertySeg2, int *SourceCount); + void ProcessXML(wxString PropertySeg1, wxString PropertySeg2, int *XMLCount); + 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 ProcessLanguage(wxString PropertySeg1, wxString PropertySeg2, int *LanguageCount); + void ProcessGeographic(wxString PropertySeg1, wxString PropertySeg2, int *GeographicCount); + void ProcessRelated(wxString PropertySeg1, wxString PropertySeg2, int *RelatedCount); + void ProcessURL(wxString PropertySeg1, wxString PropertySeg2, int *URLCount); + void ProcessTitle(wxString PropertySeg1, wxString PropertySeg2, int *TitleCount); + void ProcessRole(wxString PropertySeg1, wxString PropertySeg2, int *RoleCount); + void ProcessOrganisation(wxString PropertySeg1, wxString PropertySeg2, int *OrganisationCount); + void ProcessNote(wxString PropertySeg1, wxString PropertySeg2, int *NoteCount); + void ProcessCategory(wxString PropertySeg1, wxString PropertySeg2, int *CategoryCount); + void ProcessPhoto(wxString PropertySeg1, wxString PropertySeg2, int *PhotoCount); + void ProcessLogo(wxString PropertySeg1, wxString PropertySeg2, int *LogoCount); + void ProcessSound(wxString PropertySeg1, wxString PropertySeg2, int *SoundCount); + void ProcessCalendarURI(wxString PropertySeg1, wxString PropertySeg2, int *CalAdrCount); + void ProcessCalendarAddressURI(wxString PropertySeg1, wxString PropertySeg2, int *CalAdrURICount); + void ProcessCalendarFreeBusy(wxString PropertySeg1, wxString PropertySeg2, int *FreeBusyAddressCount); + void ProcessKey(wxString PropertySeg1, wxString PropertySeg2, int *KeyCount); + void ProcessVendor(wxString PropertySeg1, wxString PropertySeg2, int *VendorCount); + public: ContactKindType ContactKind = CONTACTKIND_NONE; @@ -77,6 +118,17 @@ class ContactDataObject{ wxString GenderTokens; wxString UIDToken; + + std::map SourceList; + std::map SourceListAltID; + std::map SourceListPID; + std::map SourceListType; + std::map SourceListTokens; + std::map SourceListMediatype; + std::map SourceListPref; + + std::map XMLList; + std::map XMLListAltID; /* We don't use these at the moment but we want to keep them for compatability reasons */ @@ -136,6 +188,7 @@ class ContactDataObject{ std::map GeneralTelephoneListPID; std::map GeneralTelephoneListType; std::map GeneralTelephoneListTokens; + std::map GeneralTelephoneListTypeInfo; std::map GeneralTelephoneListPref; std::map GeneralLanguageList; @@ -257,6 +310,7 @@ class ContactDataObject{ std::map HomeTelephoneListPID; std::map HomeTelephoneListType; std::map HomeTelephoneListTokens; + std::map HomeTelephoneListTypeInfo; std::map HomeTelephoneListPref; std::map HomeLanguageList; @@ -282,15 +336,6 @@ class ContactDataObject{ std::map HomeGeographyListMediatype; std::map HomeGeographyListPref; - std::map HomeRelatedList; - std::map HomeRelatedListRelType; - std::map HomeRelatedListLanguage; - std::map HomeRelatedListAltID; - std::map HomeRelatedListPID; - std::map HomeRelatedListType; - std::map HomeRelatedListTokens; - std::map HomeRelatedListPref; - std::map HomeWebsiteList; std::map HomeWebsiteListAltID; std::map HomeWebsiteListPID; @@ -377,6 +422,7 @@ class ContactDataObject{ std::map BusinessTelephoneListAltID; std::map BusinessTelephoneListPID; std::map BusinessTelephoneListType; + std::map BusinessTelephoneListTypeInfo; std::map BusinessTelephoneListTokens; std::map BusinessTelephoneListPref; @@ -401,16 +447,7 @@ class ContactDataObject{ std::map BusinessGeographyListType; std::map BusinessGeographyListTokens; std::map BusinessGeographyListMediatype; - std::map BusinessGeographyListPref; - - std::map BusinessRelatedList; - std::map BusinessRelatedListRelType; - std::map BusinessRelatedListLanguage; - std::map BusinessRelatedListAltID; - std::map BusinessRelatedListPID; - std::map BusinessRelatedListType; - std::map BusinessRelatedListTokens; - std::map BusinessRelatedListPref; + std::map BusinessGeographyListPref; std::map BusinessWebsiteList; std::map BusinessWebsiteListAltID; @@ -460,6 +497,7 @@ class ContactDataObject{ std::map CategoriesListPID; std::map CategoriesListType; std::map CategoriesListTokens; + std::map CategoriesListLanguage; std::map CategoriesListPref; /* Items on the Groups tab */ @@ -468,6 +506,7 @@ class ContactDataObject{ std::map GroupsListAltID; std::map GroupsListPID; std::map GroupsListType; + std::map GroupsListMediaType; std::map GroupsListTokens; std::map GroupsListPref; @@ -504,7 +543,8 @@ class ContactDataObject{ std::map SoundsListAudioEncType; std::map SoundsListAudioType; std::map SoundsListTokens; - std::map SoundsListMediatype; + std::map SoundsListMediatype; + std::map SoundsListLanguage; std::map SoundsListPref; /* Items on the Calendaring tab */ @@ -557,8 +597,6 @@ class ContactDataObject{ // Subroutines. ContactLoadStatus LoadFile(wxString Filename); - void ProcessKind(wxString KindData); - void ProcessMember(wxString PropertySeg1, wxString PropertySeg2, int *GroupCount); }; @@ -566,5 +604,11 @@ 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