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_write.ycp < prev    next >
Text File  |  2006-11-29  |  1KB  |  56 lines

  1. /**
  2.  * File:
  3.  *   idedma_write.ycp
  4.  *
  5.  * Package:
  6.  *   Configuration of IDE DMA mode
  7.  *
  8.  * Summary:
  9.  *   Writing only client
  10.  *
  11.  * Authors:
  12.  *   Ladislav Slezak <lslezak@suse.cz>
  13.  *
  14.  * $Id: idedma_write.ycp 15079 2004-03-01 15:45:52Z lslezak $
  15.  *
  16.  * This is a write-only client. It takes its arguments and just
  17.  * write the settings.
  18.  */
  19.  
  20. /**
  21.  * @param first a map of idedma settings
  22.  * @return boolean success of operation
  23.  * @example map mm = $[ "dma_on" : false, ... ];
  24.  * @example any ret = WFM::CallModule ("idedma_write", [ mm ]);
  25.  */
  26.  
  27. {
  28.     textdomain "tune";
  29.  
  30.     import "Idedma";
  31.  
  32.     list args = WFM::Args ();
  33.     if ( size (args) <= 0 )
  34.     {
  35.     y2error ("NOT writing, probably some mistake...");
  36.     return false;
  37.     }
  38.     if ( !is ( WFM::Args (0), map ) )
  39.     {
  40.     y2error ("Bad argument for idedma write: %1", WFM::Args (0));
  41.     return false;
  42.     }
  43.  
  44.     // The settings are in the first argument
  45.     list<map<string,any> > settings = (list<map<string,any> >) (args[0]:[]);
  46.     y2milestone("Only writing... (%1)", settings);
  47.  
  48.     if (! Idedma::Import (settings))
  49.     {
  50.     return false;
  51.     }
  52.  
  53.     boolean ret = Idedma::Write();
  54.     return ret;
  55. }
  56.