Author: gedmurphy
Date: Tue Jun 26 00:10:19 2007
New Revision: 27278
URL:
http://svn.reactos.org/svn/reactos?rev=27278&view=rev
Log:
add basic code for saving and reloading individual image config files via the ADO
database
Modified:
trunk/tools/RosTE/GUI/MainConfig.cs
trunk/tools/RosTE/GUI/MainForm.cs
trunk/tools/RosTE/GUI/VirtualMachine.cs
Modified: trunk/tools/RosTE/GUI/MainConfig.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/MainConfig.cs?rev=…
==============================================================================
--- trunk/tools/RosTE/GUI/MainConfig.cs (original)
+++ trunk/tools/RosTE/GUI/MainConfig.cs Tue Jun 26 00:10:19 2007
@@ -27,20 +27,38 @@
// and remove the need for LoadExistingImages / AddVirtMach / DeleteVirtMach
}
- public int GetNumberOfVms()
+ public bool LoadMainConfig()
{
- DataTable dt = data.DataSet.Tables["MainConfig"];
- return dt.Rows.Count;
+ bool ret = false;
+ string fileName = "Config.xml";
+
+ if (File.Exists(fileName))
+ {
+ FileStream fs = new FileStream(fileName, FileMode.Open,
FileAccess.Read);
+ XmlTextReader xtr = new XmlTextReader(fs);
+ data.DataSet.ReadXml(xtr, System.Data.XmlReadMode.ReadSchema);
+ xtr.Close();
+ ret = true;
+ }
+
+ return ret;
}
- public VirtualMachine GetExistingImage(int index)
+ public void SaveMainConfig()
+ {
+ string fileName = "Config.xml";
+ FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
+ XmlTextWriter xtw = new XmlTextWriter(fs, System.Text.Encoding.Unicode);
+ data.DataSet.WriteXml(xtw, System.Data.XmlWriteMode.WriteSchema);
+ xtw.Close();
+ }
+
+ public string GetExistingImage(int index)
{
DataTable dt = data.DataSet.Tables["MainConfig"];
DataRow dr = dt.Rows[index];
- VirtualMachine vm = new VirtualMachine(data);
- vm.LoadVirtMach((string)dr["Path"]);
- return vm;
+ return (string)dr["Path"];
}
public int AddVirtMach(string Path)
@@ -62,30 +80,10 @@
dt.Rows.RemoveAt(index);
}
- public void SaveMainConfig()
+ public int GetNumberOfVms()
{
- string fileName = "Config.xml";
- FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
- XmlTextWriter xtw = new XmlTextWriter(fs, System.Text.Encoding.Unicode);
- data.DataSet.WriteXml(xtw, System.Data.XmlWriteMode.WriteSchema);
- xtw.Close();
- }
-
- public bool LoadMainConfig()
- {
- bool ret = false;
- string fileName = "Config.xml";
-
- if (File.Exists(fileName))
- {
- FileStream fs = new FileStream(fileName, FileMode.Open,
FileAccess.Read);
- XmlTextReader xtr = new XmlTextReader(fs);
- data.DataSet.ReadXml(xtr, System.Data.XmlReadMode.ReadSchema);
- xtr.Close();
- ret = true;
- }
-
- return ret;
+ DataTable dt = data.DataSet.Tables["MainConfig"];
+ return dt.Rows.Count;
}
}
}
Modified: trunk/tools/RosTE/GUI/MainForm.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/MainForm.cs?rev=27…
==============================================================================
--- trunk/tools/RosTE/GUI/MainForm.cs (original)
+++ trunk/tools/RosTE/GUI/MainForm.cs Tue Jun 26 00:10:19 2007
@@ -47,9 +47,13 @@
int num = mainConf.GetNumberOfVms();
for (int i = 0; i < num; i++)
{
- VirtualMachine vm = mainConf.GetExistingImage(i);
- ListViewItem lvi = VirtMachListView.Items.Add(vm.ToString(), 0);
- lvi.Tag = vm;
+ string image = mainConf.GetExistingImage(i);
+ VirtualMachine vm = new VirtualMachine(vmData);
+ if (vm.LoadVMConfig(image))
+ {
+ ListViewItem lvi = VirtMachListView.Items.Add(vm.ToString(), 0);
+ lvi.Tag = vm;
+ }
}
}
}
@@ -145,6 +149,12 @@
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
mainConf.SaveMainConfig();
+
+ for (int i = 0; i < vmConfigs.Count; i++)
+ {
+ VirtualMachine vm = (VirtualMachine)vmConfigs[i];
+ vm.SaveVMConfig();
+ }
}
}
}
Modified: trunk/tools/RosTE/GUI/VirtualMachine.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/VirtualMachine.cs?…
==============================================================================
--- trunk/tools/RosTE/GUI/VirtualMachine.cs (original)
+++ trunk/tools/RosTE/GUI/VirtualMachine.cs Tue Jun 26 00:10:19 2007
@@ -1,12 +1,8 @@
using System;
using System.IO;
-using System.Collections.Generic;
using System.Collections.Specialized;
-using System.ComponentModel;
using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
+using System.Xml;
namespace RosTEGUI
{
@@ -15,8 +11,6 @@
private Data data;
private DataRow dataRow;
private string machine;
- private StringCollection floppy;
- private StringCollection hardDisk;
private string cdrom;
private char boot;
private string snapshot;
@@ -27,14 +21,13 @@
public string Name
{
- get
- {
- return (string)dataRow["Name"];
- }
- set
- {
- dataRow["Name"] = value;
- }
+ get { return (string)dataRow["Name"]; }
+ set { dataRow["Name"] = value; }
+ }
+
+ public string DefDir
+ {
+ get { return (string)dataRow["DefDir"]; }
}
public string Machine
@@ -42,16 +35,8 @@
get { return machine; }
set { machine = value; }
}
- public StringCollection Floppy
- {
- get { return floppy; }
- // no set, use Floppy.Add()
- }
- public StringCollection HardDisk
- {
- get { return hardDisk; }
- // no set, use HardDisk.Add()
- }
+
+
public string Cdrom
{
get { return cdrom; }
@@ -116,9 +101,6 @@
public VirtualMachine(Data dataIn)
{
data = dataIn;
-
- DataTable dt = data.DataSet.Tables["VMConfig"];
- dataRow = dt.NewRow();
}
// default
@@ -148,21 +130,62 @@
dir = di.FullName;
}
+ DataTable dt = data.DataSet.Tables["VMConfig"];
+ int i = dt.Rows.Count + 1;
+ dataRow = dt.NewRow();
+ dataRow["VirtMachID"] = i;
+ dataRow["Name"] = name;
+ dataRow["MachType"] = "test";
+ dataRow["DefDir"] = dir;
+ dataRow["MemSize"] = memSize;
+ dataRow["CdRomEnable"] = true;
+ dataRow["CdRomUsePhys"] = false;
+ dataRow["CdRomPhyDrv"] = "R:";
+ dataRow["CdRomUseIso"] = true;
+ dataRow["CdRomIsoImg"] = "err";
+ dataRow["FloppyEnable"] = true;
+ dataRow["FloppyUsePhys"] = true;
+ dataRow["FloppyPhyDrive"] = "A:";
+ dataRow["FloppyUseImg"] = false;
+ dataRow["FloppyIsoImg"] = "err";
+
+ dt.Rows.Add(dataRow);
+
Name = name;
-
- MessageBox.Show(name + " " + dir + " " + diskSize +
" " + existImg + " " + memSize);
return ret;
}
- public bool LoadVirtMach(string path)
+ public bool LoadVMConfig(string path)
{
bool ret = false;
+ string fileName = path + "\\Config.xml";
+ if (File.Exists(fileName))
+ {
+ FileStream fs = new FileStream(fileName, FileMode.Open,
FileAccess.Read);
+ XmlTextReader xtr = new XmlTextReader(fs);
+ data.DataSet.ReadXml(xtr, System.Data.XmlReadMode.ReadSchema);
+ xtr.Close();
+
+ DataTable dt = data.DataSet.Tables["VMConfig"];
+ dataRow = dt.Rows[0];
+
+ ret = true;
+ }
return ret;
}
+ public void SaveVMConfig()
+ {
+ string fileName = DefDir + "\\Config.xml";
+ Directory.CreateDirectory(DefDir);
+ FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
+ XmlTextWriter xtw = new XmlTextWriter(fs, System.Text.Encoding.Unicode);
+ data.DataSet.WriteXml(xtw, System.Data.XmlWriteMode.WriteSchema);
+ xtw.Close();
+ }
}
}