bool SessionManager::Save(const wxString& name, SessionEntry& session, const wxString& suffix /*=wxT("")*/, const wxChar* Tag /*=sessionTag*/) { if(!m_doc.GetRoot()) { return false; } if(name.empty()) return false; wxXmlNode* child = new wxXmlNode(NULL, wxXML_ELEMENT_NODE, Tag); child->AddProperty(wxT("Name"), name); Archive arch; arch.SetXmlNode(child); session.Serialize(arch); wxXmlDocument doc; doc.SetRoot(child); // If we're saving a tabgroup, suffix will be ".tabgroup", not the default ".session" const wxFileName& sessionFileName = GetSessionFileName(name, suffix); return doc.Save(sessionFileName.GetFullPath()); }