public static Machine LoadMachine(string machineRootDir) { if (!CheckMachineDirectory(machineRootDir)) { Settings.LoggerInstance.Log(LogEntryType.Error, "Unable to load machine from \"" + machineRootDir + "\"! This directory isn't correct!"); throw new InvalidMachineException("Machine doesn't exists"); } XmlSerializer serializer = new XmlSerializer(typeof(MachineMetadata)); TextReader reader = new StreamReader(Path.Combine(machineRootDir, "machine.lvm")); MachineMetadata metadata = (MachineMetadata)serializer.Deserialize(reader); Machine machine = new Machine(metadata.MachineAddress, machineRootDir); machine.MachineName = metadata.MachineName; var devices = LoadDevices(machineRootDir); foreach (var dev in devices) { machine.DeviceBus.ConnectDevice(dev, dev.Address, true); } reader.Close(); return(machine); }
private static MachineMetadata createMachineMetadata(string machineName, Guid address) { MachineMetadata metadata = new MachineMetadata(); metadata.MachineAddress = address; metadata.MachineName = machineName; metadata.MachineVersion = new Version(1, 0, 0, 0); return(metadata); }
private static void saveMachineMetadata(string machineRootDir, MachineMetadata metadata) { string metaFile = Path.Combine(machineRootDir, "machine.lvm"); XmlSerializer serializer = new XmlSerializer(typeof(MachineMetadata)); TextWriter writer = new StreamWriter(metaFile); serializer.Serialize(writer, metadata); Settings.LoggerInstance.Log(LogEntryType.Info, "Machine created in \"" + machineRootDir + "\"!"); writer.Close(); }