home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / modules / VM.ycp < prev    next >
Text File  |  2006-11-29  |  23KB  |  1,086 lines

  1. /**
  2.  * File:    modules/VM.ycp
  3.  * Package:    VM configuration - generic module
  4.  * Authors:    Ladislav Slezak <lslezak@suse.cz>
  5.  *        Michael G. Fritch <mgfritch@novell.com>
  6.  *
  7.  * $Id: VM.ycp 32320 2006-08-10 18:08:16Z mgfritch $
  8.  */
  9. {
  10.     module "VM";
  11.  
  12.     textdomain "vm";
  13.  
  14.     import "VM_Common";
  15.  
  16.     map functions = $[];
  17.     string vmmtype = "";
  18.  
  19.  
  20.     boolean CallBooleanFunction(string name) {
  21.     boolean() toEval = (boolean())functions[name]:nil;
  22.  
  23.     if (toEval != nil)
  24.     {
  25.         return toEval();
  26.     }
  27.     else
  28.     {
  29.         y2error("%1() function is missing!", name);
  30.         return nil;
  31.     }
  32.     }
  33.  
  34.     boolean CallBooleanStringFunction(string name, string arg) {
  35.     boolean(string) toEval = (boolean(string))functions[name]:nil;
  36.  
  37.     if (toEval != nil)
  38.     {
  39.         return toEval(arg);
  40.     }
  41.     else
  42.     {
  43.         y2error("%1() function is missing!", name);
  44.         return nil;
  45.     }
  46.     }
  47.  
  48.     boolean CallBooleanBooleanFunction(string name, boolean arg) {
  49.     boolean(boolean) toEval = (boolean(boolean))functions[name]:nil;
  50.  
  51.     if (toEval != nil)
  52.     {
  53.         return toEval(arg);
  54.     }
  55.     else
  56.     {
  57.         y2error("%1() function is missing!", name);
  58.         return nil;
  59.     }
  60.     }
  61.  
  62.     string CallStringFunction(string name) {
  63.     string() toEval = (string())functions[name]:nil;
  64.  
  65.     if (toEval != nil)
  66.     {
  67.         return toEval();
  68.     }
  69.     else
  70.     {
  71.         y2error("%1() function is missing!", name);
  72.         return nil;
  73.     }
  74.     }
  75.  
  76.     // initializes the module, must be called as the first function
  77.     global boolean SetVMMtype(string vmm) {
  78.     if (vmm == "xen")
  79.     {
  80.         import "VM_XEN";
  81.         functions = VM_XEN::GetFunctions();
  82.         vmmtype = vmm;
  83.     }
  84.     else
  85.     {
  86.         y2error("unsupported VMM type: %1", vmm);
  87.         return false;
  88.     }
  89.  
  90.     return true;
  91.     }
  92.  
  93.     global string GetVMMtype() {
  94.     return vmmtype;
  95.     }
  96.  
  97.  
  98.     global string GetConfigFilePath() {
  99.     string() toEval = (string())functions["getConfigFilePath"]:nil;
  100.  
  101.     if (toEval != nil)
  102.     {
  103.         return toEval();
  104.     }
  105.     else
  106.     {
  107.         y2error("getConfigFilePath() function is missing!");
  108.         return nil;
  109.     }
  110.     }
  111.  
  112.  
  113.     global integer GetMemorySize() {
  114.     integer() toEval = (integer())functions["getMemorySize"]:nil;
  115.  
  116.     if (toEval != nil)
  117.     {
  118.         return toEval();
  119.     }
  120.     else
  121.     {
  122.         y2error("getMemorySize() function is missing!");
  123.         return nil;
  124.     }
  125.     }
  126.  
  127.     global boolean SetMemorySize(integer msize) {
  128.     boolean(integer) toEval = (boolean(integer))functions["setMemorySize"]:nil;
  129.  
  130.     if (toEval != nil)
  131.     {
  132.         return toEval(msize);
  133.     }
  134.     else
  135.     {
  136.         y2error("setMemorySize() function is missing!");
  137.         return nil;
  138.     }
  139.     }
  140.  
  141.     global boolean ResetMemorySize() {
  142.     return CallBooleanFunction("resetMemorySize");
  143.     }
  144.  
  145.     global boolean IsXendRunning() {
  146.     return CallBooleanFunction("isXendRunning");
  147.     }
  148.  
  149.     global string GetXMInfo(string key) {
  150.     string(string) toEval = (string(string))functions["getXMInfo"]:nil;
  151.  
  152.     if (toEval != nil)
  153.     {
  154.         return toEval(key);
  155.     }
  156.     else
  157.     {
  158.         y2error("getXMInfo() function is missing!");
  159.         return nil;
  160.     }
  161.     }
  162.  
  163.     global integer GetMaxFreeMemory() {
  164.     integer() toEval = (integer())functions["getMaxFreeMemory"]:nil;
  165.  
  166.     if (toEval != nil)
  167.     {
  168.         return toEval();
  169.     }
  170.     else
  171.     {
  172.         y2error("getMaxFreeMemory() function is missing!");
  173.         return nil;
  174.     }
  175.     }
  176.  
  177.     global integer GetMaxParaMemory() {
  178.     integer() toEval = (integer())functions["getMaxParaMemory"]:nil;
  179.  
  180.     if (toEval != nil)
  181.     {
  182.         return toEval();
  183.     }
  184.     else
  185.     {
  186.         y2error("getMaxParaMemory() function is missing!");
  187.         return nil;
  188.     }
  189.     }
  190.  
  191.     global integer GetMaxHVMMemory() {
  192.     integer() toEval = (integer())functions["getMaxHVMMemory"]:nil;
  193.  
  194.     if (toEval != nil)
  195.     {
  196.         return toEval();
  197.     }
  198.     else
  199.     {
  200.         y2error("getMaxHVMMemory() function is missing!");
  201.         return nil;
  202.     }
  203.     }
  204.  
  205.     global integer GetNumberOfCpus() {
  206.     integer() toEval = (integer())functions["getNumberOfCpus"]:nil;
  207.  
  208.     if (toEval != nil)
  209.     {
  210.         return toEval();
  211.     }
  212.     else
  213.     {
  214.         y2error("getNumberOfCpus() function is missing!");
  215.         return nil;
  216.     }
  217.     }
  218.  
  219.     global boolean SetNumberOfCpus(integer msize) {
  220.     boolean(integer) toEval = (boolean(integer))functions["setNumberOfCpus"]:nil;
  221.  
  222.     if (toEval != nil)
  223.     {
  224.         return toEval(msize);
  225.     }
  226.     else
  227.     {
  228.         y2error("setNumberOfCpus() function is missing!");
  229.         return nil;
  230.     }
  231.     }
  232.  
  233.     global boolean ResetNumberOfCpus() {
  234.     return CallBooleanFunction("resetNumberOfCpus");
  235.     }
  236.  
  237.     global integer GetNE2000() {
  238.     integer() toEval = (integer())functions["getNE2000"]:nil;
  239.  
  240.     if (toEval != nil)
  241.     {
  242.         return toEval();
  243.     }
  244.     else
  245.     {
  246.         y2error("getNE2000() function is missing!");
  247.         return nil;
  248.     }
  249.     }
  250.  
  251.     global boolean SetNE2000(integer msize) {
  252.     boolean(integer) toEval = (boolean(integer))functions["setNE2000"]:nil;
  253.  
  254.     if (toEval != nil)
  255.     {
  256.         return toEval(msize);
  257.     }
  258.     else
  259.     {
  260.         y2error("setNE2000() function is missing!");
  261.         return nil;
  262.     }
  263.     }
  264.  
  265.     global boolean ResetNE2000() {
  266.     return CallBooleanFunction("resetNE2000");
  267.     }
  268.  
  269.     global integer GetStdVga() {
  270.     integer() toEval = (integer())functions["getStdVga"]:nil;
  271.  
  272.     if (toEval != nil)
  273.     {
  274.         return toEval();
  275.     }
  276.     else
  277.     {
  278.         y2error("getStdVga() function is missing!");
  279.         return nil;
  280.     }
  281.     }
  282.  
  283.     global boolean SetStdVga(integer msize) {
  284.     boolean(integer) toEval = (boolean(integer))functions["setStdVga"]:nil;
  285.  
  286.     if (toEval != nil)
  287.     {
  288.         return toEval(msize);
  289.     }
  290.     else
  291.     {
  292.         y2error("setStdVga() function is missing!");
  293.         return nil;
  294.     }
  295.     }
  296.  
  297.     global boolean ResetStdVga() {
  298.     return CallBooleanFunction("resetStdVga");
  299.     }
  300.  
  301.     global integer GetSdl() {
  302.     integer() toEval = (integer())functions["getSdl"]:nil;
  303.  
  304.     if (toEval != nil)
  305.     {
  306.         return toEval();
  307.     }
  308.     else
  309.     {
  310.         y2error("getSdl() function is missing!");
  311.         return nil;
  312.     }
  313.     }
  314.  
  315.     global boolean SetSdl(integer msize) {
  316.     boolean(integer) toEval = (boolean(integer))functions["setSdl"]:nil;
  317.  
  318.     if (toEval != nil)
  319.     {
  320.         return toEval(msize);
  321.     }
  322.     else
  323.     {
  324.         y2error("setSdl() function is missing!");
  325.         return nil;
  326.     }
  327.     }
  328.     global boolean ResetSdl() {
  329.     return CallBooleanFunction("resetSdl");
  330.     }
  331.  
  332.     global integer GetLocaltime() {
  333.     integer() toEval = (integer())functions["getLocaltime"]:nil;
  334.  
  335.     if (toEval != nil)
  336.     {
  337.         return toEval();
  338.     }
  339.     else
  340.     {
  341.         y2error("getLocaltime() function is missing!");
  342.         return nil;
  343.     }
  344.     }
  345.  
  346.     global boolean SetLocaltime(integer msize) {
  347.     boolean(integer) toEval = (boolean(integer))functions["setLocaltime"]:nil;
  348.  
  349.     if (toEval != nil)
  350.     {
  351.         return toEval(msize);
  352.     }
  353.     else
  354.     {
  355.         y2error("setLocaltime() function is missing!");
  356.         return nil;
  357.     }
  358.     }
  359.  
  360.     global boolean ResetLocaltime() {
  361.     return CallBooleanFunction("resetLocaltime");
  362.     }
  363.  
  364.     global boolean ResetNetworkProposal() {
  365.     return CallBooleanFunction("resetNetworkConfig");
  366.     }
  367.  
  368.     global string GetStartMode() {
  369.     return CallStringFunction("getStartMode");
  370.     }
  371.  
  372.     global list<string> GetNetworkProposal() {
  373.     list<string>() toEval = (list<string>())functions["getNetworkProposal"]:nil;
  374.  
  375.     if (toEval != nil)
  376.     {
  377.         return toEval();
  378.     }
  379.     else
  380.     {
  381.         y2error("getNetworkProposal() function is missing!");
  382.         return nil;
  383.     }
  384.     }
  385.  
  386.     global boolean SetStartMode(string smode) {
  387.     return CallBooleanStringFunction("setStartMode", smode);
  388.     }
  389.  
  390.     global boolean ResetStartMode() {
  391.     return CallBooleanFunction("resetStartMode");
  392.     }
  393.  
  394.     global string GetOnPowerOff() {
  395.     return CallStringFunction("getOnPowerOff");
  396.     }
  397.  
  398.     global boolean SetOnPowerOff(string smode) {
  399.     return CallBooleanStringFunction("setOnPowerOff", smode);
  400.     }
  401.  
  402.     global string GetOnReboot() {
  403.     return CallStringFunction("getOnReboot");
  404.     }
  405.  
  406.     global boolean SetOnReboot(string smode) {
  407.     return CallBooleanStringFunction("setOnReboot", smode);
  408.     }
  409.  
  410.     global string GetOnCrash() {
  411.     return CallStringFunction("getOnCrash");
  412.     }
  413.  
  414.     global boolean SetOnCrash(string smode) {
  415.     return CallBooleanStringFunction("setOnCrash", smode);
  416.     }
  417.  
  418.     global string GetExtraArgs() {
  419.     return CallStringFunction("getExtraArgs");
  420.     }
  421.  
  422.     global boolean SetExtraArgs(string args) {
  423.     return CallBooleanStringFunction("setExtraArgs", args);
  424.     }
  425.  
  426.     global boolean ResetExtraArgs() {
  427.     return CallBooleanFunction("resetExtraArgs");
  428.     }
  429.  
  430.     global boolean ResetHiddenArgs() {
  431.     return CallBooleanFunction("resetHiddenArgs");
  432.     }
  433.  
  434.     global string GetConfigName() {
  435.     return CallStringFunction("getConfigName");
  436.     }
  437.  
  438.     global boolean SetConfigName(string name) {
  439.     return CallBooleanStringFunction("setConfigName", name);
  440.     }
  441.  
  442.     global boolean ResetConfigName() {
  443.     return CallBooleanFunction("resetConfigName");
  444.     }
  445.  
  446.     global boolean ValidateConfigName(string name) {
  447.     return CallBooleanStringFunction("ValidateConfigName", name);
  448.     }
  449.  
  450.     global string GetMAC() {
  451.     return CallStringFunction("getMAC");
  452.     }
  453.  
  454.     global boolean SetMAC(string mac) {
  455.     return CallBooleanStringFunction("setMAC", mac);
  456.     }
  457.  
  458.     global boolean ResetMAC() {
  459.     return CallBooleanFunction("resetMAC");
  460.     }
  461.  
  462.     global boolean SetHomeDir(string home) {
  463.     return CallBooleanStringFunction("setHomeDir", home);
  464.     }
  465.  
  466.     global string GetHomeDir() {
  467.     return CallStringFunction("getHomeDir");
  468.     }
  469.  
  470.     global boolean SetUserName(string user) {
  471.     return CallBooleanStringFunction("setUserName", user);
  472.     }
  473.  
  474.     global string GetUserName() {
  475.     return CallStringFunction("getUserName");
  476.     }
  477.  
  478.     global boolean ResetUserName() {
  479.     return CallBooleanFunction("resetUserName");
  480.     }
  481.  
  482.  
  483.     global list<map<string,any> > GetDiskConfig() {
  484.     list<map<string,any> >() toEval = (list<map<string,any> >())functions["getDiskConfig"]:nil;
  485.  
  486.     if (toEval != nil)
  487.     {
  488.         return toEval();
  489.     }
  490.     else
  491.     {
  492.         y2error("getDiskConfig() function is missing!");
  493.         return nil;
  494.     }
  495.     }
  496.  
  497.     global boolean SetDiskConfig(list<map<string,any> > smode) {
  498.     boolean(list<map<string,any> >) toEval = (boolean(list<map<string,any> >))functions["setDiskConfig"]:nil;
  499.  
  500.     if (toEval != nil)
  501.     {
  502.         return toEval(smode);
  503.     }
  504.     else
  505.     {
  506.         y2error("setDiskConfig() function is missing!");
  507.         return nil;
  508.     }
  509.     }
  510.  
  511.     global boolean ResetDiskConfig() {
  512.     return CallBooleanFunction("resetDiskConfig");
  513.     }
  514.  
  515.     global list<string> GetConfiguredDiskTargets(list<map<string,any> > disks_list) {
  516.     list<string>(list<map<string,any> >) toEval = (list<string>(list<map<string,any> >))functions["getConfiguredDiskTargets"]:nil;
  517.  
  518.     if (toEval != nil)
  519.     {
  520.         return toEval(disks_list);
  521.     }
  522.     else
  523.     {
  524.         y2error("getConfiguredDiskTargets() function is missing!");
  525.         return nil;
  526.     }
  527.     }
  528.  
  529.    global list<string> GetConfiguredDiskSources(list<map<string,any> > disks_list) {
  530.     list<string>(list<map<string,any> >) toEval = (list<string>(list<map<string,any> >))functions["getConfiguredDiskSources"]:nil;
  531.  
  532.     if (toEval != nil)
  533.     {
  534.         return toEval(disks_list);
  535.     }
  536.     else
  537.     {
  538.         y2error("getConfiguredDiskSources() function is missing!");
  539.         return nil;
  540.     }
  541.     }
  542.  
  543.     global list<string> GetValidVirtualDevices(list<string> used_devices) {
  544.     list<string>(list<string>) toEval = (list<string>(list<string>))functions["getValidVirtualDevices"]:nil;
  545.  
  546.     if (toEval != nil)
  547.     {
  548.         return toEval(used_devices);
  549.     }
  550.     else
  551.     {
  552.         y2error("getValidVirtualDevices() function is missing!");
  553.         return nil;
  554.     }
  555.     }
  556.  
  557.  
  558.     global list<map<string,string> > GetNetworkConfig() {
  559.     list<map<string,string> >() toEval = (list<map<string,string> >())functions["getNetworkConfig"]:nil;
  560.  
  561.     if (toEval != nil)
  562.     {
  563.         return toEval();
  564.     }
  565.     else
  566.     {
  567.         y2error("getNetworkConfig() function is missing!");
  568.         return nil;
  569.     }
  570.     }
  571.  
  572.     global boolean SetNetworkConfig(list<map<string,string> > net) {
  573.     boolean(list<map<string,string> >) toEval = (boolean(list<map<string,string> >))functions["setNetworkConfig"]:nil;
  574.  
  575.     if (toEval != nil)
  576.     {
  577.         return toEval(net);
  578.     }
  579.     else
  580.     {
  581.         y2error("setNetworkConfig() function is missing!");
  582.         return nil;
  583.     }
  584.     }
  585.  
  586.     global boolean ResetNetworkConfig() {
  587.     return CallBooleanFunction("resetNetworkConfig");
  588.     }
  589.  
  590.     global list<string> GetDiskProposal() {
  591.     list<string>() toEval = (list<string>())functions["getDiskProposal"]:nil;
  592.  
  593.     if (toEval != nil)
  594.     {
  595.         return toEval();
  596.     }
  597.     else
  598.     {
  599.         y2error("getDiskProposal() function is missing!");
  600.         return nil;
  601.     }
  602.     }
  603.  
  604.     global list<string> GetSourceProposal() {
  605.     list<string>() toEval = (list<string>())functions["getSourceProposal"]:nil;
  606.  
  607.     if (toEval != nil)
  608.     {
  609.         return toEval();
  610.     }
  611.     else
  612.     {
  613.         y2error("GetSourceProposal() function is missing!");
  614.         return nil;
  615.     }
  616.     }
  617.  
  618.     global map GetSourceProposalWarning()
  619.     {
  620.     map() toEval = (map())functions["getSourceProposalWarning"]:nil;
  621.  
  622.     if (toEval != nil)
  623.     {
  624.         return toEval();
  625.     }
  626.     else
  627.     {
  628.         y2error("GetSourceProposalWarning() function is missing!");
  629.         return nil;
  630.     }
  631.     }
  632.  
  633.     global map GetNetworkProposalWarning()
  634.     {
  635.     map() toEval = (map())functions["getNetworkProposalWarning"]:nil;
  636.  
  637.     if (toEval != nil)
  638.     {
  639.         return toEval();
  640.     }
  641.     else
  642.     {
  643.         y2error("GetNetworkProposalWarning() function is missing!");
  644.         return nil;
  645.     }
  646.     }
  647.  
  648.     global boolean ResetSource() {
  649.     return CallBooleanFunction("resetSourceConfig");
  650.     }
  651.  
  652.     global map<string,any> GetSourceConfig() {
  653.     map<string,any>() toEval = (map<string,any>())functions["getSourceConfig"]:nil;
  654.  
  655.     if (toEval != nil)
  656.     {
  657.         return toEval();
  658.     }
  659.     else
  660.     {
  661.         y2error("getSourceConfig() function is missing!");
  662.         return nil;
  663.     }
  664.     }
  665.  
  666.     global boolean SetSourceConfig(integer sid, symbol type, string custom) {
  667.     boolean(integer, symbol, string) toEval = (boolean(integer, symbol, string))functions["setSourceConfig"]:nil;
  668.  
  669.     if (toEval != nil)
  670.     {
  671.         return toEval(sid, type, custom);
  672.     }
  673.     else
  674.     {
  675.         y2error("setSourceConfig() function is missing!");
  676.         return nil;
  677.     }
  678.     }
  679.  
  680.     global map getOptionsProposal()
  681.     {
  682.     map<string,any>() toEval = (map<string,any>())functions["getOptionsProposal"]:nil;
  683.  
  684.     if (toEval != nil)
  685.     {
  686.         return toEval();
  687.     }
  688.     else
  689.     {
  690.         y2error("getOptionsProposal() function is missing!");
  691.         return nil;
  692.     }
  693.     }
  694.  
  695.     global map getHardwareProposal()
  696.     {
  697.     map<string,any>() toEval = (map<string,any>())functions["getHardwareProposal"]:nil;
  698.  
  699.     if (toEval != nil)
  700.     {
  701.         return toEval();
  702.     }
  703.     else
  704.     {
  705.         y2error("getHardwareProposal() function is missing!");
  706.         return nil;
  707.     }
  708.     }
  709.  
  710.  
  711.     global boolean Write() {
  712.     return CallBooleanFunction("Write");
  713.     }
  714.  
  715.     global boolean Prepare() {
  716.     return CallBooleanFunction("Prepare");
  717.     }
  718.  
  719.     global boolean Prepare2() {
  720.     return CallBooleanFunction("Prepare2");
  721.     }
  722.  
  723.     global list<map<string,any> > ParseDiskConfig(string diskstr) {
  724.     list<map<string,any> >(string) toEval = (list<map<string,any> >(string))functions["parseDiskConfig"]:nil;
  725.  
  726.     if (toEval != nil)
  727.     {
  728.         return toEval(diskstr);
  729.     }
  730.     else
  731.     {
  732.         y2error("parseDiskConfig() function is missing!");
  733.         return nil;
  734.     }
  735.     }
  736.  
  737.     global boolean UpdateDiskConfig(string old_source, string new_source, string type) {
  738.     boolean(string, string, string) toEval = (boolean (string, string, string))functions["updateDiskConfig"]:nil;
  739.  
  740.     if (toEval != nil)
  741.     {
  742.         return toEval(old_source, new_source, type);
  743.     }
  744.     else
  745.     {
  746.         y2error("updateDiskConfig() function is missing!");
  747.         return nil;
  748.     }
  749.     }
  750.  
  751.     global string GetDiskSource(list<map<string,any> > disks_list, string source) {
  752.     string(list<map<string,any> >, string) toEval = (string (list<map<string,any> >, string))functions["getDiskSource"]:nil;
  753.  
  754.     if (toEval != nil)
  755.     {
  756.         return toEval(disks_list, source);
  757.     }
  758.     else
  759.     {
  760.         y2error("getDiskSource() function is missing!");
  761.         return nil;
  762.     }
  763.     }
  764.  
  765.     global string GetDiskTarget(list<map<string,any> > disks_list, string target) {
  766.     string(list<map<string,any> >, string) toEval = (string (list<map<string,any> >, string))functions["getDiskTarget"]:nil;
  767.  
  768.     if (toEval != nil)
  769.     {
  770.         return toEval(disks_list, target);
  771.     }
  772.     else
  773.     {
  774.         y2error("getDiskTarget() function is missing!");
  775.         return nil;
  776.     }
  777.     }
  778.  
  779.  
  780.     global string GetAutoYastProfile() {
  781.     return VM_Common::GetAutoYastProfile();
  782.     }
  783.  
  784.     global boolean SetAutoYastProfile(string profile) {
  785.     return VM_Common::SetAutoYastProfile(profile);
  786.     }
  787.  
  788.     global string GetAutoYastProposal() {
  789.     return VM_Common::GetAutoYastProposal();
  790.     }
  791.  
  792.     global map<string,any> GetAutoYastProposalWarning()
  793.     {
  794.     return VM_Common::GetAutoYastProposalWarning();
  795.     }
  796.  
  797.     global boolean ResetAutoYastProfile() {
  798.     // clear out the stored autoyast settings
  799.     VM_Common::autoyast_profile_settings = $[];
  800.  
  801.     // remove any old image
  802.     string old_autoyast_image = VM::GetDiskSource(VM::GetDiskConfig(), "hdt63");
  803.     if (old_autoyast_image != nil && old_autoyast_image != "") {
  804.         VM::UpdateDiskConfig(old_autoyast_image, "", "");
  805.     }
  806.  
  807.     return VM_Common::SetAutoYastProfile("");
  808.     }
  809.  
  810.     global map ReadConfigFileSettings(string cfg_file) {
  811.     map(string) toEval = (map(string))functions["ReadConfigFileSettings"]:nil;
  812.  
  813.     if (toEval != nil)
  814.     {
  815.         return toEval(cfg_file);
  816.     }
  817.     else
  818.     {
  819.         y2error("ReadConfigFileSettings() function is missing!");
  820.         return nil;
  821.     }
  822.     }
  823.  
  824.  
  825.     global list<map> ReadAllConfigFileSettings() {
  826.     list<map>() toEval = (list<map>())functions["ReadAllConfigFileSettings"]:nil;
  827.  
  828.     if (toEval != nil)
  829.     {
  830.         return toEval();
  831.     }
  832.     else
  833.     {
  834.         y2error("ReadAllConfigFileSettings() function is missing!");
  835.         return nil;
  836.     }
  837.     }
  838.  
  839.  
  840.     global symbol GetVirtualMachineState(string state) {
  841.     symbol(string) toEval = (symbol(string))functions["GetVirtualMachineState"]:nil;
  842.  
  843.     if (toEval != nil)
  844.     {
  845.         return toEval(state);
  846.     }
  847.     else
  848.     {
  849.         y2error("GetVirtualMachineState() function is missing!");
  850.         return nil;
  851.     }
  852.     }
  853.  
  854.     global boolean ViewVirtualMachineConsole(string DomName, boolean isFullVirtualization, boolean isNetWare, boolean background, boolean displayError) {
  855.     boolean(string, boolean, boolean, boolean, boolean) toEval = (boolean(string, boolean, boolean, boolean, boolean))functions["ViewVirtualMachineConsole"]:nil;
  856.  
  857.     if (toEval != nil)
  858.     {
  859.         return toEval(DomName, isFullVirtualization, isNetWare, background, displayError);
  860.     }
  861.     else
  862.     {
  863.         y2error("ViewVirtualMachineConsole() function is missing!");
  864.         return nil;
  865.     }
  866.     }
  867.  
  868.     global boolean ShutdownVirtualMachine(string DomName, boolean displayError) {
  869.     boolean(string, boolean) toEval = (boolean(string, boolean))functions["ShutdownVirtualMachine"]:nil;
  870.  
  871.     if (toEval != nil)
  872.     {
  873.         return toEval(DomName, displayError);
  874.     }
  875.     else
  876.     {
  877.         y2error("ShutdownVirtualMachine() function is missing!");
  878.         return nil;
  879.     }
  880.     }
  881.  
  882.     global boolean TerminateVirtualMachine(string DomName, boolean displayError) {
  883.     boolean(string, boolean) toEval = (boolean(string, boolean))functions["TerminateVirtualMachine"]:nil;
  884.  
  885.     if (toEval != nil)
  886.     {
  887.         return toEval(DomName, displayError);
  888.     }
  889.     else
  890.     {
  891.         y2error("TerminateVirtualMachine() function is missing!");
  892.         return nil;
  893.     }
  894.     }
  895.  
  896.     global boolean StartVirtualMachine(string DomName, boolean displayError) {
  897.     boolean(string, boolean) toEval = (boolean(string, boolean))functions["StartVirtualMachine"]:nil;
  898.  
  899.     if (toEval != nil)
  900.     {
  901.         return toEval(DomName, displayError);
  902.     }
  903.     else
  904.     {
  905.         y2error("StartVirtualMachine() function is missing!");
  906.         return nil;
  907.     }
  908.     }
  909.  
  910.     global boolean InstallPackages() {
  911.     return CallBooleanFunction("InstallPackages");
  912.     }
  913.  
  914.     global string GetTapDevice() {
  915.     return CallStringFunction("getTapDevice");
  916.     }
  917.  
  918.     global boolean SetTapDevice(string tap) {
  919.     return CallBooleanStringFunction("setTapDevice", tap);
  920.     }
  921.  
  922.     global string GetNetDevice() {
  923.     return CallStringFunction("getNetDevice");
  924.     }
  925.  
  926.     global boolean SetNetDevice(string net) {
  927.     return CallBooleanStringFunction("setNetDevice", net);
  928.     }
  929.  
  930.     global string GetRestart() {
  931.     return CallStringFunction("getRestart");
  932.     }
  933.  
  934.     global boolean SetRestart(string mode) {
  935.     return CallBooleanStringFunction("setRestart", mode);
  936.     }
  937.  
  938.     global boolean ResetRestart() {
  939.     return CallBooleanFunction("resetRestart");
  940.     }
  941.  
  942.     global string GetKernelImage() {
  943.     return CallStringFunction("getKernelImage");
  944.     }
  945.  
  946.     global boolean SetKernelImage(string img) {
  947.     return CallBooleanStringFunction("setKernelImage", img);
  948.     }
  949.  
  950.     global string GetInitrdImage() {
  951.     return CallStringFunction("getInitrdImage");
  952.     }
  953.  
  954.     global boolean SetInitrdImage(string img) {
  955.     return CallBooleanStringFunction("setInitrdImage", img);
  956.     }
  957.  
  958.     global boolean GetCustomKernel() {
  959.     return CallBooleanFunction("getCustomKernel");
  960.     }
  961.  
  962.     global boolean SetCustomKernel(boolean use_custom) {
  963.     return CallBooleanBooleanFunction("setCustomKernel", use_custom);
  964.     }
  965.  
  966.     global boolean Import(map input) {
  967.     boolean(map) toEval = (boolean(map))functions["import"]:nil;
  968.  
  969.     if (toEval != nil)
  970.     {
  971.         return toEval(input);
  972.     }
  973.     else
  974.     {
  975.         y2error("import() function is missing!");
  976.         return nil;
  977.     }
  978.     }
  979.  
  980.     global map Export() {
  981.     map() toEval = (map())functions["export"]:nil;
  982.  
  983.     if (toEval != nil)
  984.     {
  985.         return toEval();
  986.     }
  987.     else
  988.     {
  989.         y2error("export() function is missing!");
  990.         return nil;
  991.     }
  992.     }
  993.  
  994.     global map SubExport() {
  995.     map() toEval = (map())functions["subexport"]:nil;
  996.  
  997.     if (toEval != nil)
  998.     {
  999.         return toEval();
  1000.     }
  1001.     else
  1002.     {
  1003.         y2error("subexport() function is missing!");
  1004.         return nil;
  1005.     }
  1006.     }
  1007.  
  1008.     global string GetVirtualizationType() {
  1009.     return CallStringFunction("getVirtualizationType");
  1010.     }
  1011.  
  1012.     global boolean SetVirtualizationType(string type) {
  1013.     return CallBooleanStringFunction("setVirtualizationType", type);
  1014.     }
  1015.  
  1016.     global boolean ResetVirtualizationType() {
  1017.     return CallBooleanFunction("resetVirtualizationType");
  1018.     }
  1019.  
  1020.     global string GetVirtualizationProposal() {
  1021.     return CallStringFunction("virtualizationTypeProposal");
  1022.     }
  1023.  
  1024. /*    global boolean UpdateRoot(string root) {
  1025.     return CallBooleanStringFunction("updateRoot", root);
  1026.     }*/
  1027.  
  1028.     global string GetBootDevice()
  1029.     {
  1030.     return CallStringFunction("getBootDevice");
  1031.     }
  1032.  
  1033.     global map<string,any> GetDiskProposalWarning()
  1034.     {
  1035.     map<string,any>() toEval = (map<string,any>())functions["getDiskProposalWarning"]:nil;
  1036.  
  1037.     if (toEval != nil)
  1038.     {
  1039.         return toEval();
  1040.     }
  1041.     else
  1042.     {
  1043.         y2error("getDiskProposalWarning() function is missing!");
  1044.         return nil;
  1045.     }
  1046.     }
  1047.  
  1048.     global string GetImgPrefix()
  1049.     {
  1050.     return CallStringFunction("getImgPrefix");
  1051.     }
  1052.  
  1053.     global boolean SetImgPrefix(string p) {
  1054.     return CallBooleanStringFunction("setImgPrefix", p);
  1055.     }
  1056.  
  1057.     global boolean ResetAllSettings() {
  1058.     // must reset all values back to their defaults removing the settings from the last vm
  1059.     ResetHiddenArgs();
  1060.     ResetDiskConfig();
  1061.     ResetSource();
  1062.     ResetExtraArgs();
  1063.     ResetConfigName();
  1064. //    ResetMAC();
  1065. //    ResetUserName();
  1066.     ResetNetworkConfig();
  1067. //    ResetVirtualizationType(); // NOTE: reseting this value causes strange settings since most are calculated based on virtualization type.
  1068.     ResetAutoYastProfile();
  1069.     ResetMemorySize();
  1070.     ResetNumberOfCpus();
  1071.     ResetNE2000();
  1072.     ResetStdVga();
  1073.     ResetSdl();
  1074.     ResetLocaltime();
  1075.     ResetNetworkProposal();
  1076.     ResetStartMode();
  1077.  
  1078.     VM_Common::SetModified(false);
  1079.  
  1080.     return true;
  1081.     }
  1082.  
  1083.  
  1084. /* EOF */
  1085. }
  1086.