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 / iscsi-client_proposal.ycp < prev    next >
Text File  |  2006-11-29  |  2KB  |  88 lines

  1. /**
  2.  * File:    clients/iscsi-client_proposal.ycp
  3.  * Package:    Configuration of iscsi-client
  4.  * Summary:    Proposal function dispatcher.
  5.  * Authors:    Michal Zugec <mzugec@suse.cz>
  6.  *
  7.  * $Id: iscsi-client_proposal.ycp 28596 2006-03-06 11:28:57Z mzugec $
  8.  *
  9.  * Proposal function dispatcher for iscsi-client configuration.
  10.  * See source/installation/proposal/proposal-API.txt
  11.  */
  12.  
  13. {
  14.  
  15. textdomain "iscsi-client";
  16.  
  17. import "IscsiClient";
  18. import "Progress";
  19.  
  20. /* The main () */
  21. y2milestone("----------------------------------------");
  22. y2milestone("IscsiClient proposal started");
  23.  
  24. string func = (string) WFM::Args(0);
  25. map param = (map) WFM::Args(1);
  26. map ret = $[];
  27.  
  28. /* create a textual proposal */
  29. if(func == "MakeProposal") {
  30.     string proposal = "";
  31.     string warning = nil;
  32.     symbol warning_level = nil;
  33.     boolean force_reset = param["force_reset"]:false;
  34.  
  35.     if(force_reset || !IscsiClient::proposal_valid) {
  36.         IscsiClient::proposal_valid = true;
  37.     boolean progress_orig = Progress::set (false);
  38.     IscsiClient::Read();
  39.     Progress::set (progress_orig);
  40.     }
  41.     list sum = IscsiClient::Summary();
  42.     proposal = sum[0]:"";
  43.  
  44.     ret = $[
  45.     "preformatted_proposal" : proposal,
  46.     "warning_level" : warning_level,
  47.     "warning" : warning,
  48.     ];
  49. }
  50. /* run the module */
  51. else if(func == "AskUser") {
  52.     map stored = IscsiClient::Export();
  53.     symbol seq = (symbol) WFM::CallFunction("iscsi-client", [.propose]);
  54.     if(seq != `next) IscsiClient::Import(stored);
  55.     y2debug("stored=%1",stored);
  56.     y2debug("seq=%1",seq);
  57.     ret = $[
  58.     "workflow_sequence" : seq
  59.     ];
  60. }
  61. /* create titles */
  62. else if(func == "Description") {
  63.     ret = $[
  64.     /* Rich text title for IscsiClient in proposals */
  65.     "rich_text_title" : _("iSCSI Initiator"),
  66.     /* Menu title for IscsiClient in proposals */
  67.     "menu_title" : _("&iSCSI Initiator"),
  68.     "id" : "iscsi-client",
  69.     ];
  70. }
  71. /* write the proposal */
  72. else if(func == "Write") {
  73.     IscsiClient::Write();
  74. }
  75. /* unknown function */
  76. else {
  77.     y2error("unknown function: %1", func);
  78. }
  79.  
  80. /* Finish */
  81. y2debug("ret=%1",ret);
  82. y2milestone("IscsiClient proposal finished");
  83. y2milestone("----------------------------------------");
  84. return ret;
  85.  
  86. /* EOF */
  87. }
  88.