protected XmlDocument SaveSession()
{
XmlDocument doc = DebuggerConfiguration.CreateXmlDocument ();
XmlElement module_groups = doc.CreateElement ("ModuleGroups");
doc.DocumentElement.AppendChild (module_groups);
foreach (ModuleGroup group in Config.ModuleGroups)
group.GetSessionData (module_groups);
XmlElement root = doc.CreateElement ("DebuggerSession");
root.SetAttribute ("name", Name);
doc.DocumentElement.AppendChild (root);
XmlElement options = doc.CreateElement ("Options");
Options.GetSessionData (options);
root.AppendChild (options);
XmlElement modules = root.OwnerDocument.CreateElement ("Modules");
root.AppendChild (modules);
foreach (Module module in Modules)
module.GetSessionData (modules);
XmlElement thread_groups = root.OwnerDocument.CreateElement ("ThreadGroups");
root.AppendChild (thread_groups);
foreach (ThreadGroup group in ThreadGroups)
AddThreadGroup (thread_groups, group);
XmlElement event_list = root.OwnerDocument.CreateElement ("Events");
root.AppendChild (event_list);
foreach (Event e in Events)
e.GetSessionData (event_list);
XmlElement display_list = root.OwnerDocument.CreateElement ("Displays");
root.AppendChild (display_list);
foreach (Display d in Displays)
d.GetSessionData (display_list);
return doc;
}