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 / clients / runlevel_auto.ycp < prev    next >
Text File  |  2006-11-29  |  3KB  |  123 lines

  1. /**
  2.  * File:    clients/runlevel_auto.ycp
  3.  * Package:    Configuration of Runlevel
  4.  * Summary:    Client for autoinstallation
  5.  * Authors:    nashif@suse.de
  6.  *
  7.  * $Id: runlevel_auto.ycp 23327 2005-05-09 07:15:56Z mlazar $
  8.  *
  9.  * This is a client for autoinstallation. It takes its arguments,
  10.  * goes through the configuration and return the setting.
  11.  * Does not do any changes to the configuration.
  12.  */
  13.  
  14. /**
  15.  * @param function to execute
  16.  * @param map/list of RunlevelEd settings
  17.  * @return map edited settings, Summary or boolean on success depending on called function
  18.  * @example map mm = $[ "FAIL_DELAY" : "77" ];
  19.  * @example map ret = WFM::CallFunction ("RunlevelEd_auto", [ "Summary", mm ]);
  20.  */
  21.  
  22. {
  23. textdomain "runlevel";
  24.  
  25. y2milestone("----------------------------------------");
  26. y2milestone("Runlevel auto started");
  27.  
  28. import "RunlevelEd";
  29. import "Progress";
  30. import "Wizard";
  31. import "Sequencer";
  32.  
  33. include "runlevel/wizard.ycp";
  34.  
  35. any ret = nil;
  36. string func = "";
  37. map param = $[];
  38.  
  39. /* Check arguments */
  40. if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) {
  41.     func = (string) WFM::Args(0);
  42.     if(size(WFM::Args()) > 1 && is(WFM::Args(1), map))
  43.         param = (map) WFM::Args(1);
  44. }
  45. y2debug("func=%1", func);
  46. y2debug("param=%1", param);
  47.  
  48.  
  49.  
  50. // We take data from underlying system
  51. // RunlevelEd::Read ();
  52.  
  53.  
  54. /* Import Data*/
  55. if(func == "Import") {
  56.     boolean po = Progress::set(false); 
  57.     RunlevelEd::Read (); 
  58.     ret = RunlevelEd::Import(param); 
  59.     Progress::set(po); 
  60. }
  61. /* Create a  summary*/
  62. else if(func == "Summary") {
  63.     ret = RunlevelEd::Summary();
  64. }
  65. /* Reset configuration */
  66. else if (func == "Reset") {
  67.     RunlevelEd::Import($[]);
  68.     ret = $[];
  69. }
  70. /* Change configuration (run AutoSequence) */
  71. else if (func == "Change") {
  72.     if (!RunlevelEd::GetModified()) {
  73.         RunlevelEd::runlevels = (list<string>) SCR::Read (.init.scripts.runlevel_list);
  74.     if (0 == size (RunlevelEd::runlevels))
  75.     {
  76.             RunlevelEd::runlevels = ["0", "1", "2", "3", "5", "6", "S", ];
  77.     }
  78.  
  79.     //..
  80.         RunlevelEd::default_runlevel = (string) SCR::Read (.init.scripts.default_runlevel);
  81.     }
  82.     ret = RunlevelAutoSequence();
  83. }
  84. /* Read Configuration  */
  85. else if (func == "Read") {
  86.     boolean po = Progress::set(false);
  87.     ret = RunlevelEd::Read();
  88.     Progress::set(po);
  89. }
  90. /* Return actual state */
  91. else if (func == "Export") {
  92.     ret = RunlevelEd::Export();
  93. }
  94. else if (func == "Packages") {
  95.     ret = $[];
  96. }
  97. /* Write givven settings */
  98. else if (func == "Write") {
  99.     boolean po = Progress::set(false);
  100.     ret = RunlevelEd::Write();
  101.     Progress::set(po);
  102. }
  103. else if (func == "SetModified") {
  104.     ret = RunlevelEd::SetModified ();
  105. }
  106. else if (func == "GetModified") {
  107.     ret = RunlevelEd::GetModified ();
  108. }
  109. /* Unknown function */
  110. else {
  111.     y2error("Unknown function: %1", func);
  112.     ret = false;
  113. }
  114.  
  115. y2debug("ret=%1", ret);
  116. y2milestone("Runlevel auto finished");
  117. y2milestone("----------------------------------------");
  118.  
  119. return ret;
  120.  
  121. /* EOF */
  122. }
  123.