break;
}
+
+ // TODO: Sortout REV.
+
+ // Process XML.
+ for (std::map<int, wxString>::iterator XMLIter = XMLList.begin();
+ XMLIter != XMLList.end(); XMLIter++){
+
+ ProcessData.Append("XML");
+
+ if (XMLListAltID[XMLIter->first].size() > 0){
+
+ ProcessData.Append(";ALTID=");
+ ProcessData.Append(XMLListAltID[XMLIter->first]);
+
+ }
+
+ ProcessData.Append(":");
+ ProcessData.Append(XMLIter->second);
+ ProcessData.Append("\n");
+
+ ProcessData = OutputText(&ProcessData);
+
+ SaveData->Append(ProcessData);
+ ProcessData.clear();
+
+ }
+
+ // Process SOURCE.
+
+ SaveSource(&SourceList, &SourceListAltID,
+ &SourceListPID, &SourceListType,
+ &SourceListMediatype, &SourceListPref,
+ &SourceListTokens, SaveData);
+
+ // Process CLIENTPIDMAP.
+
+ for (std::map<int, wxString>::iterator CPIDIter = ClientPIDList.begin();
+ CPIDIter != ClientPIDList.end(); CPIDIter++){
+
+ ProcessData.Append("CLIENTPIDMAP");
+
+ if (ClientPIDListTokens[CPIDIter->first].size() > 0){
+
+ ProcessData.Append(";");
+ ProcessData.Append(ClientPIDListTokens[CPIDIter->first]);
+
+ }
+
+ ProcessData.Append(":");
+ ProcessData.Append(CPIDIter->second);
+ ProcessData.Append("\n");
+
+ ProcessData = OutputText(&ProcessData);
+
+ SaveData->Append(ProcessData);
+ ProcessData.clear();
+
+ }
+
// Process FN.
for (std::map<int, wxString>::iterator FNIter = FullNamesList.begin();
}
+}
+
+void ContactDataObject::SaveSource(map<int, wxString> *SourceList, map<int, wxString> *SourceListAltID,
+ map<int, wxString> *SourceListPID, map<int, wxString> *SourceListType,
+ map<int, wxString> *SourceListMediatype, map<int, int> *SourceListPref,
+ map<int, wxString> *SourceListTokens, wxString *SaveData){
+
+ wxString ProcessData = "";
+
+ for (std::map<int, wxString>::iterator SourceIter = SourceList->begin();
+ SourceIter != SourceList->end(); SourceIter++){
+
+ ProcessData.Append("SOURCE");
+
+ // Check if there is a value for TYPE.
+
+ if ((*SourceListType)[SourceIter->first].size() > 0){
+
+ ProcessData.Append(";TYPE=");
+ ProcessData.Append((*SourceListType)[SourceIter->first]);
+
+ }
+
+ // Check if there is a value for ALTID.
+
+ if ((*SourceListAltID)[SourceIter->first].size() > 0){
+
+ ProcessData.Append(";ALTID=");
+ ProcessData.Append((*SourceListAltID)[SourceIter->first]);
+
+ }
+
+ // Check if there is a value for LANGUAGE.
+
+ if ((*SourceListMediatype)[SourceIter->first].size() > 0){
+
+ ProcessData.Append(";MEDIATYPE=");
+ ProcessData.Append((*SourceListMediatype)[SourceIter->first]);
+
+ }
+
+ // Check if there is a value for PID.
+
+ if ((*SourceListPID)[SourceIter->first].size() > 0){
+
+ ProcessData.Append(";PID=");
+ ProcessData.Append((*SourceListPID)[SourceIter->first]);
+
+ }
+
+ // Check if there is a value for PREF.
+
+ if ((*SourceListPref)[SourceIter->first] > 0){
+
+ ProcessData.Append(";PREF=");
+ ProcessData.Append(wxString::Format("%i", (*SourceListPref)[SourceIter->first]));
+
+ }
+
+ // Check if there is a value for tokens.
+
+ if ((*SourceListTokens)[SourceIter->first].size() > 0){
+
+ ProcessData.Append(";");
+ ProcessData.Append((*SourceListTokens)[SourceIter->first]);
+
+ }
+
+ ProcessData.Append(":");
+ ProcessData.Append(SourceIter->second);
+ ProcessData.Append("\n");
+
+ ProcessData = OutputText(&ProcessData);
+
+ SaveData->Append(ProcessData);
+ ProcessData.clear();
+
+ }
+
}
\ No newline at end of file