public void From_XML(System.Xml.Linq.XElement xml) { var attr = xml.Attribute("type"); if (attr != null) { var b = Domain_Types.qemu; Enum.TryParse(attr.Value, true, out b); type = b; } Metadata.From_XML(xml); BootLoader.From_XML(xml); CPU.From_XML(xml); Memory.From_XML(xml); System_Features.From_XML(xml); var element = xml.Element("clock"); if (element != null) { attr = xml.Attribute("offset"); if (attr != null) { clock = (Clock_Types)Enum.Parse(typeof(Clock_Types), attr.Value); } } element = xml.Element("devices"); if (element != null) { var emul = element.Element("emulator"); if (emul != null) { emulator = emul.Value; } Drives.From_XML(element); graphics.From_XML(element); element = element.Element("interface"); if (element != null) { Iface.From_XML(element); } } }
public string To_XML() { var ret = "<domain type='" + type.ToString() + "'>"; ret += Metadata.To_XML(); ret += BootLoader.To_XML(); ret += CPU.To_XML(); ret += Memory.To_XML(); //standard options here.... ret += "<on_poweroff>destroy</on_poweroff>"; ret += "<on_reboot>restart</on_reboot>"; ret += "<on_crash>restart</on_crash>"; ret += System_Features.To_XML(); ret += "<clock offset='" + clock.ToString() + "'></clock>"; ret += "<devices>"; ret += "<emulator>" + emulator + "</emulator>"; ret += Drives.To_XML(); ret += graphics.To_XML(); ret += Iface.To_XML(); ret += "</devices>"; ret += "</domain>"; return(ret); }