Beispiel #1
0
 public VirtualMachine(VirtMachInfo vmInfoIn)
 {
     vmInfo = vmInfoIn;
 }
Beispiel #2
0
        public void SaveVmSettings(VirtMachInfo vmi)
        {
            if (dataSet != null)
            {
                try
                {
                    dataSet.Tables["VMConfig"].Rows.Clear();

                    DataRow vmRow = dataSet.Tables["VMConfig"].NewRow();

                    vmRow["VirtMachID"]     = vmi.virtMachID;
                    vmRow["Name"]           = vmi.name;
                    vmRow["MachType"]       = vmi.machType;
                    vmRow["DefDir"]         = vmi.defDir;
                    vmRow["MemSize"]        = vmi.memSize;
                    vmRow["SetClockToHost"] = vmi.setClockToHost;
                    vmRow["CdRomEnable"]    = vmi.cdRomEnable;
                    vmRow["CdRomUsePhys"]   = vmi.cdRomUsePhys;
                    vmRow["CdRomPhysDrv"]   = vmi.cdRomPhysDrv;
                    vmRow["CdRomUseIso"]    = vmi.cdRomUseIso;
                    vmRow["CdRomIsoImg"]    = vmi.cdRomIsoImg;
                    vmRow["FloppyEnable"]   = vmi.floppyEnable;
                    vmRow["FloppyUsePhys"]  = vmi.floppyUsePhys;
                    vmRow["FloppyPhysDrv"]  = vmi.floppyPhysDrv;
                    vmRow["FloppyUseImg"]   = vmi.floppyUseImg;
                    vmRow["FloppyIsoImg"]   = vmi.floppyIsoImg;

                    dataSet.Tables["VMConfig"].Rows.Add(vmRow);

                    foreach (HardDriveInfo hdi in vmi.hardDrives)
                    {
                        DataRow hdRow = dataSet.Tables["HardDisks"].NewRow();

                        hdRow["DiskID"]  = hdi.diskID;
                        hdRow["Name"]    = hdi.name;
                        hdRow["Drive"]   = hdi.drive;
                        hdRow["Path"]    = hdi.path;
                        hdRow["Size"]    = hdi.size;
                        hdRow["BootImg"] = hdi.bootImg;

                        dataSet.Tables["HardDisks"].Rows.Add(hdRow);
                    }

                    foreach (NetCardInfo nci in vmi.netCards)
                    {
                        DataRow ncRow = dataSet.Tables["NetCards"].NewRow();

                        ncRow["CardID"]     = nci.cardID;
                        ncRow["VirtMachID"] = nci.virtMachID;
                        ncRow["Option"]     = nci.option;
                        ncRow["Vlan"]       = nci.vlan;
                        ncRow["MacAddr"]    = nci.macAddr;
                        ncRow["Model"]      = nci.model;
                        ncRow["HostName"]   = nci.hostname;

                        dataSet.Tables["NetCards"].Rows.Add(ncRow);
                    }
                }
                catch (Exception ex)
                {
                    Debug.LogMessage("error loading VM config", ex.Message, ex.StackTrace, true);
                }
            }
        }
Beispiel #3
0
 public VirtualMachine()
 {
     vmInfo = new VirtMachInfo();
     CreateDefaultConfig();
 }
Beispiel #4
0
        public bool LoadVmSettings()
        {
            bool bRet = false;

            if (dataSet != null)
            {
                if (virtMachInfo == null)
                {
                    virtMachInfo = new List <VirtMachInfo>();
                }

                try
                {
                    foreach (DataRow vmRow in dataSet.Tables["VMConfig"].Rows)
                    {
                        VirtMachInfo vmi = new VirtMachInfo();
                        vmi.virtMachID     = (int)vmRow["VirtMachID"];
                        vmi.name           = (string)vmRow["Name"];
                        vmi.machType       = (string)vmRow["MachType"];
                        vmi.defDir         = (string)vmRow["DefDir"];
                        vmi.memSize        = (int)vmRow["MemSize"];
                        vmi.setClockToHost = (bool)vmRow["SetClockToHost"];
                        vmi.cdRomEnable    = (bool)vmRow["CdRomEnable"];
                        vmi.cdRomUsePhys   = (bool)vmRow["CdRomUsePhys"];
                        vmi.cdRomPhysDrv   = (string)vmRow["CdRomPhysDrv"];
                        vmi.cdRomUseIso    = (bool)vmRow["CdRomUseIso"];
                        vmi.cdRomIsoImg    = (string)vmRow["CdRomIsoImg"];
                        vmi.floppyEnable   = (bool)vmRow["FloppyEnable"];
                        vmi.floppyUsePhys  = (bool)vmRow["FloppyUsePhys"];
                        vmi.floppyPhysDrv  = (string)vmRow["FloppyPhysDrv"];
                        vmi.floppyUseImg   = (bool)vmRow["FloppyUseImg"];
                        vmi.floppyIsoImg   = (string)vmRow["FloppyIsoImg"];

                        vmi.hardDrives = new List <HardDriveInfo>();
                        foreach (DataRow hdRow in dataSet.Tables["HardDisks"].Rows)
                        {
                            HardDriveInfo hdi = new HardDriveInfo();
                            hdi.diskID  = (int)hdRow["DiskID"];
                            hdi.name    = (string)hdRow["Name"];
                            hdi.drive   = (string)hdRow["Drive"];
                            hdi.path    = (string)hdRow["Path"];
                            hdi.size    = (int)hdRow["Size"];
                            hdi.bootImg = (bool)hdRow["BootImg"];

                            vmi.hardDrives.Add(hdi);
                        }

                        vmi.netCards = new List <NetCardInfo>();
                        foreach (DataRow hdRow in dataSet.Tables["NetCards"].Rows)
                        {
                            NetCardInfo nci = new NetCardInfo();
                            nci.cardID     = (int)hdRow["CardID"];
                            nci.virtMachID = (int)hdRow["VirtMachID"];
                            nci.option     = (string)hdRow["Option"];
                            nci.vlan       = (int)hdRow["Vlan"];
                            nci.macAddr    = (string)hdRow["MacAddr"];
                            nci.model      = (string)hdRow["Model"];
                            nci.hostname   = (string)hdRow["HostName"];

                            vmi.netCards.Add(nci);
                        }

                        virtMachInfo.Add(vmi);
                    }

                    bRet = true;
                }
                catch (Exception ex)
                {
                    Debug.LogMessage("error loading VM config", ex.Message, ex.StackTrace, true);
                }
            }

            return(bRet);
        }