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 / idedma_auto.ycp < prev    next >
Text File  |  2006-11-29  |  5KB  |  126 lines

  1. /**
  2.  * File:
  3.  *   idedma_auto.ycp
  4.  *
  5.  * Package:
  6.  *   Configuration of IDE DMA mode
  7.  *
  8.  * Summary:
  9.  *   Client for autoinstallation
  10.  *
  11.  * Authors:
  12.  *   Ladislav Slezak <lslezak@suse.cz>
  13.  *
  14.  * $Id: idedma_auto.ycp 15079 2004-03-01 15:45:52Z lslezak $
  15.  *
  16.  * This is a client for autoinstallation. It takes its arguments,
  17.  * goes through the configuration and return the setting.
  18.  * Does not do any changes to the configuration.
  19.  */
  20.  
  21. /**
  22.  * @param first a map of idedma settings
  23.  * @return boolean success of operation
  24.  * @example map mm = $[ "dma_on" : false, ...];
  25.  * @example map ret = WFM::CallModule ("idedma_auto", [ mm ]);
  26.  */
  27.  
  28. {
  29. textdomain "tune";
  30. import "Idedma";
  31. include "idedma/ui.ycp";
  32.  
  33. /* The main () */
  34. y2milestone("---------------------------------");
  35. y2milestone("Idedma autoinst client started");
  36. any ret = nil;
  37. string func = "";
  38. list<map> param = [];
  39.  
  40.  
  41. /* Check arguments */
  42. if(size((list)WFM::Args()) > 0 && is(WFM::Args(0), string))
  43. {
  44.     func = (string)WFM::Args(0);
  45.  
  46.     if (size((list)WFM::Args()) > 1 && is(WFM::Args(1), list))
  47.     {
  48.     param = (list<map>) WFM::Args(1);
  49.     }
  50. }
  51.  
  52. y2debug("func=%1", func);
  53. y2debug("param=%1", param);
  54.  
  55. // predefined devices - we don't know which devices will be present in the target system
  56. // allow setting any possible IDE device to any DMA mode
  57. list<map<string,any> > empty_settings = [
  58.     $[ "current_dma" : nil, "dev_name" : "/dev/hda", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  59.     $[ "current_dma" : nil, "dev_name" : "/dev/hdb", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  60.     $[ "current_dma" : nil, "dev_name" : "/dev/hdc", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  61.     $[ "current_dma" : nil, "dev_name" : "/dev/hdd", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  62.     $[ "current_dma" : nil, "dev_name" : "/dev/hde", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  63.     $[ "current_dma" : nil, "dev_name" : "/dev/hdf", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  64.     $[ "current_dma" : nil, "dev_name" : "/dev/hdg", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  65.     $[ "current_dma" : nil, "dev_name" : "/dev/hdh", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  66.     $[ "current_dma" : nil, "dev_name" : "/dev/hdi", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  67.     $[ "current_dma" : nil, "dev_name" : "/dev/hdj", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  68.     $[ "current_dma" : nil, "dev_name" : "/dev/hdk", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"],
  69.     $[ "current_dma" : nil, "dev_name" : "/dev/hdl", "device" : _("Unknown"), "device_type" : _("Unknown"), "dma_modes":["mdma0", "mdma1", "mdma2", "udma0", "udma1", "udma2", "udma3", "udma4", "udma5", "udma6"], "dma_setting":"nochange"]
  70. ];
  71.  
  72. /* Import data*/
  73. if(func == "Import")
  74. {
  75.     if (size(param) == 0)
  76.     {
  77.     param = empty_settings;
  78.     }
  79.     ret = Idedma::Import((list<map<string,any> >)param);
  80. }
  81. /* create a summary */
  82. else if(func == "Summary")
  83. {
  84.     // show only configured devices, richtext output
  85.     ret = Idedma::Summary(false, true);
  86. }
  87. else if (func == "Packages")
  88. {
  89.     ret = $[];
  90. }
  91. else if (func == "Reset")
  92. {
  93.     ret = Idedma::Import(empty_settings);
  94. }
  95. else if (func == "Change")
  96. {
  97.     ret = IdedmaAutoSequence();
  98. }
  99. else if (func == "Export")
  100. {
  101.     ret = Idedma::Export();
  102. }
  103. else if (func == "Write")
  104. {
  105.     import "Progress";
  106.     Progress::off();
  107.     ret = Idedma::Write();
  108.     Progress::on();
  109. }
  110. /* unknown function */
  111. else
  112. {
  113.     y2error("unknown function: %1", func);
  114.     ret =  false;
  115. }
  116.  
  117. y2debug("ret=%1", ret);
  118. y2milestone("Idedma autoinst client finished");
  119. y2milestone("----------------------------------");
  120.  
  121. return ret;
  122.  
  123. }
  124.  
  125.  
  126.