Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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();
        }