ContactLoadStatus ContactDataObject::LoadFile(wxString Filename){
+ // Load the ContactDataObject using the Filename given.
+
if (!wxFileExists(Filename)){
return CONTACTLOAD_FILEMISSING;
void ContactDataObject::ProcessKind(wxString KindType){
+ // Process the type of contact.
+
if (KindType == wxT("individual")){
ContactKind = CONTACTKIND_INDIVIDUAL;
void ContactDataObject::ProcessRevision(wxString PropertySeg1, wxString PropertySeg2){
+ // Process the revision date.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessSource(wxString PropertySeg1, wxString PropertySeg2, int *SourceCount){
+ // Process the source address.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessXML(wxString PropertySeg1, wxString PropertySeg2, int *XMLCount){
+ // Process the XML data.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessMember(wxString PropertySeg1, wxString PropertySeg2, int *GroupCount){
+ // Process the membership data.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessFN(wxString PropertySeg1, wxString PropertySeg2, int *FNCount){
+ // Process the full name.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessN(wxString PropertySeg1, wxString PropertySeg2){
+ // Process the name.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessClientPIDMap(wxString PropertySeg1, wxString PropertySeg2, int *ClientPIDCount){
+ // Process the Client PID Map.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessNickname(wxString PropertySeg1, wxString PropertySeg2, int *NicknameCount){
+ // Process the Nickname.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessGender(wxString PropertySeg1, wxString PropertySeg2){
+ // Process the gender.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessBirthday(wxString PropertySeg1, wxString PropertySeg2){
- // Process date. Preserve the remainder in the string.
+ // Process birthday date.
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessAnniversary(wxString PropertySeg1, wxString PropertySeg2){
- // Process date. Preserve the remainder in the string.
+ // Process the anniversary.
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessTimeZone(wxString PropertySeg1, wxString PropertySeg2, int *TimeZoneCount){
+ // Process the timezone.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessAddress(wxString PropertySeg1, wxString PropertySeg2, int *AddressCount){
+ // Process the address.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessEmail(wxString PropertySeg1, wxString PropertySeg2, int *EmailCount){
+ // Process the email address.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessIM(wxString PropertySeg1, wxString PropertySeg2, int *IMCount){
+ // Process the IM.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessTelephone(wxString PropertySeg1, wxString PropertySeg2, int *TelephoneCount){
+ // Process the telephone.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessLanguage(wxString PropertySeg1, wxString PropertySeg2, int *LanguageCount){
+ // Process the language.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessGeographic(wxString PropertySeg1, wxString PropertySeg2, int *GeographicCount){
+ // Process the geographic location.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessRelated(wxString PropertySeg1, wxString PropertySeg2, int *RelatedCount){
+ // Process the relation.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessURL(wxString PropertySeg1, wxString PropertySeg2, int *URLCount){
+ // Process the URL.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessTitle(wxString PropertySeg1, wxString PropertySeg2, int *TitleCount){
+ // Process the title.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessRole(wxString PropertySeg1, wxString PropertySeg2, int *RoleCount){
+ // Process the role.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessOrganisation(wxString PropertySeg1, wxString PropertySeg2, int *OrganisationCount){
+ // Process the organisation.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessNote(wxString PropertySeg1, wxString PropertySeg2, int *NoteCount){
+ // Process the note.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessCategory(wxString PropertySeg1, wxString PropertySeg2, int *CategoryCount){
+ // Process the category.
+
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
std::map<int, int>::iterator SLiter;
void ContactDataObject::ProcessPhoto(wxString PropertySeg1, wxString PropertySeg2, int *PhotoCount){
+ // Process the photo.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessLogo(wxString PropertySeg1, wxString PropertySeg2, int *LogoCount){
+ // Process the logo.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessSound(wxString PropertySeg1, wxString PropertySeg2, int *SoundCount){
+ // Process the sound.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessCalendarURI(wxString PropertySeg1, wxString PropertySeg2, int *CalURICount){
+ // Process the calendar URI.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessCalendarAddressURI(wxString PropertySeg1, wxString PropertySeg2, int *CalAdrURICount){
+ // Process the calendar address URI.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessCalendarFreeBusy(wxString PropertySeg1, wxString PropertySeg2, int *FreeBusyAddressCount){
+ // Process the calendar free busy URL.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessKey(wxString PropertySeg1, wxString PropertySeg2, int *KeyCount){
+ // Process the key.
+
size_t intPropertyLen = PropertySeg1.Len();
std::map<int, int> SplitPoints;
std::map<int, int> SplitLength;
void ContactDataObject::ProcessVendor(wxString PropertySeg1, wxString PropertySeg2, int *VendorCount){
+ // Process the vendor information.
+
// Split the Vendor three ways.
wxStringTokenizer wSTVendorDetails(PropertySeg1, wxT("-"));
void ContactDataObject::ClearData(){
+ // Clear the contact information.
+
NameTitle.clear();
NameForename.clear();
NameSurname.clear();
wxString *PropertyName,
wxString *PropertyValue){
+ // Proces the name and value information.
+
wxStringTokenizer PropertyElement (*PropertyData, wxT("="));
*PropertyName = PropertyElement.GetNextToken();
*PropertyValue = PropertyElement.GetNextToken();
wxString *PropertyTokens,
bool *FirstToken){
+ // Process the tokens.
+
if (!PropertyName->IsEmpty() && !PropertyValue->IsEmpty() && *PropertyName != wxT("TYPE")){
if (*FirstToken == TRUE){
int *ItemCount,
bool *PropertyMatched){
+ // Process the string value.
+
if (*PropertyName == PropertyNameMatch){
MapPtr->erase(*ItemCount);
MapPtr->insert(std::make_pair(*ItemCount, *PropertyValue));
int *ItemCount,
bool *PropertyMatched){
+ // Process the integer value.
+
if (*PropertyName == PropertyNameMatch){
*PropertyMatched = TRUE;
} else {
std::map<int,int> *SplitPoints,
std::map<int,int> *SplitLength,
int intSize){
-
+
+ // Split values from a string supplied by PropertyLine.
+
size_t intPropertyLen = PropertyLine->Len();
int intSplitsFound = 0;
int intSplitSize = 0;
int *intPrevValue,
PropertyType *PropType){
+ // Check the information type.
+
wxString PropertyData;
wxString PropertyName;
wxString PropertyValue;