#include #include #include #include #ifndef VCARD_H #define VCARD_H struct ArrayvCardOutData { wxArrayString PropData; wxArrayString PropValues; int PropCount = 0; }; struct vCardName{ wxString Forename; wxString Surname; wxString OtherNames; wxString Title; wxString Suffix; }; class vCard{ private: wxArrayString SettingNames; wxArrayString SettingValues; int SettingCount; bool vCardBegin; bool vCardEnd; bool vCardFN; float vCardVersion; wxString vCardFilename; std::map Cards; void ProcessString(wxString *ContactData); public: vCard(); void Add(wxString SettingName, wxString SettingValue, bool ReplaceMode); void AddRaw(wxString SettingName, wxString SettingValue); wxString Get(wxString SettingName); vCardName GetName(); wxString GetById(int id); ArrayvCardOutData GetByPartial(wxString SettingName); int WriteFile(wxString WriteFilename); int LoadFile(wxString LoadFilename); int LoadString(wxString ContactData); wxString WriteString(); bool MeetBaseSpecification(); wxString Convert(wxString SettingValue, bool ReplaceMode); wxString GetFilename(); std::map* GetAllCards(); }; #endif