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 / include / repair / osr_module_init.ycp < prev    next >
Text File  |  2006-11-29  |  5KB  |  167 lines

  1. /**
  2.  * File:
  3.  *   osr_module_init.ycp
  4.  *
  5.  * Module:
  6.  *   YaST2 OS Repair init module.
  7.  *
  8.  * Summary:
  9.  *   YaST2 OS Repair. Automatic error detection & repair tool for Linux.
  10.  *
  11.  * Author:
  12.  *   Michael Koehrmann <curry@suse.de>
  13.  *
  14.  * $Id: osr_module_init.ycp 23769 2005-06-21 12:18:10Z jsuchome $
  15.  */
  16.  
  17. {
  18.  
  19.   import "Stage";
  20.   import "StorageDevices";
  21.  
  22.   import "OSR";
  23.   import "OSRCommon";
  24.   import "OSRSummary";
  25.   import "OSRFloppy";
  26.   import "OSRPopup";
  27.  
  28.   textdomain "repair";
  29.  
  30.   //////////////////////////////////////////////////////////////////////
  31.   //
  32.   //  DETECTION METHODS
  33.   //
  34.   //////////////////////////////////////////////////////////////////////
  35.  
  36.   /**
  37.    */
  38.   define boolean OSRInitSelectFloppy() ``{
  39.  
  40.       /////////////////////////////////////////////////////////////////////////
  41.       //
  42.       //  Check Floppy
  43.       //
  44.       /////////////////////////////////////////////////////////////////////////
  45.  
  46.       if  ( size( StorageDevices::FloppyDrives) == 1 )
  47.       {
  48.         // summary text, %1 is floppy device
  49.         OSRSummary::DetectOK("",sformat(_("Floppy device found on %1"),
  50.              OSRFloppy::floppy_device ));
  51.  
  52.         OSRCommon::ProvideBoolean("has_floppy", true);
  53.       }
  54.       else if ( size( StorageDevices::FloppyDrives)  > 1 )
  55.       {
  56.     list<string> drives = (list<string>) maplist (
  57.         map floppy, StorageDevices::FloppyDrives, ``{
  58.         return floppy["dev_name"]:"";
  59.     });
  60.  
  61.         OSRSummary::DetectOK("",
  62.             // summary text, %1 are floppy devices
  63.             sformat(_("Several floppy devices found<br>%1"),
  64.             mergestring (drives, " ,")));
  65.  
  66.  
  67.         // let the user select the floppy device to use
  68.         OSRFloppy::floppy_device = OSRPopup::RadioButtonGroup(
  69.         // popup headline
  70.         _("Select the Floppy Device"),
  71.         // radibutton group description
  72.             _("Select one of the floppy
  73. devices for later use."),
  74.         drives,
  75.             "",
  76.             true);
  77.  
  78.         OSRSummary::DetectOK("",
  79.             // summary text, %1 is floppy device
  80.             sformat(_("Selected floppy device %1"), OSRFloppy::floppy_device));
  81.  
  82.         OSRCommon::ProvideBoolean("has_floppy", true);
  83.       }
  84.       else
  85.       {
  86.         // summary text
  87.         OSRSummary::NotFound("",  _("No floppy device found"));
  88.         OSRCommon::ProvideBoolean("has_floppy", false );
  89.         return false;
  90.       }
  91.       return true;
  92.   }
  93.  
  94.   define boolean OSRInitTarget() {
  95.  
  96.       // summary text
  97.       OSRSummary::DetectOK("", _("Target system initialized"));
  98.  
  99.       // if the rescue-system is launched from a running Linux-system
  100.       // the target-directory is empty, else "/mnt"
  101.       if (!Stage::initial () && !Stage::cont ())
  102.       {
  103.         OSRCommon::ProvideString("repair_target", "") ;
  104.       }
  105.       else
  106.       {
  107.         OSRCommon::ProvideString("repair_target", "/mnt") ;
  108.       }
  109.  
  110.       return true;
  111.   }
  112.   //////////////////////////////////////////////////////////////////////
  113.   //
  114.   //  METHODS
  115.   //
  116.   //////////////////////////////////////////////////////////////////////
  117.  
  118.   /**
  119.    *  Initialization of the module map that contains all important information
  120.    *  for this module.
  121.    *
  122.    *  @return map The map that contains all information about
  123.    *  the module osr_module_init.
  124.    */
  125.   define map OSRInitInit () {
  126.  
  127.       y2debug("OSRInitInit");
  128.  
  129.       return  $[
  130.         "name"           :  "osr_module_init",
  131.                             // module headline
  132.         "headline"       :  _("OSRInit"),
  133.         "global_entries" : $[
  134.                      "init" : $[
  135.                                   // module action label
  136.                         "text"  : _("Initialize Repair System"),
  137.                                   // module helptext
  138.                         "help"  : _("TODO"),
  139.                         "mode"  : "forall"
  140.                         ]
  141.         ],
  142.  
  143.         "detect_methods" :  [
  144.                             // module method progress label
  145.             $[ "summary"  : _("Probing floppy..."),
  146.                "method"   : OSRInitSelectFloppy,
  147.                "requires" : [],
  148.                "provides" : [ "has_floppy"],
  149.                "group"    : "init",
  150.                "progress" : 10,
  151.            "name"        : "init_floppy",
  152.             ],
  153.                             // module method progress label
  154.             $[ "summary"  : _("Initializing target system..."),
  155.                "method"   : OSRInitTarget,
  156.                "requires" : [],
  157.                "provides" : ["repair_target"],
  158.                "group"    : "init",
  159.                "progress" : 10,
  160.            "name"        : "init_target"
  161.             ]
  162.         ]
  163.       ];
  164.   }
  165.  
  166. }//EOF
  167.