home *** CD-ROM | disk | FTP | other *** search
- /**
- * File: clients/iscsi-client_auto.ycp
- * Package: Configuration of iscsi-client
- * Summary: Client for autoinstallation
- * Authors: Michal Zugec <mzugec@suse.cz>
- *
- * $Id: iscsi-client_auto.ycp 27936 2006-02-13 20:01:14Z olh $
- *
- * This is a client for autoinstallation. It takes its arguments,
- * goes through the configuration and return the setting.
- * Does not do any changes to the configuration.
- */
-
- /**
- * @param function to execute
- * @param map/list of iscsi-client settings
- * @return map edited settings, Summary or boolean on success depending on called function
- * @example map mm = $[ "FAIL_DELAY" : "77" ];
- * @example map ret = WFM::CallFunction ("iscsi-client_auto", [ "Summary", mm ]);
- */
-
- {
-
- textdomain "iscsi-client";
-
- y2milestone("----------------------------------------");
- y2milestone("IscsiClient auto started");
-
- import "IscsiClient";
- include "iscsi-client/wizards.ycp";
-
- any ret = nil;
- string func = "";
- map param = $[];
-
- /* Check arguments */
- if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) {
- func = (string)WFM::Args(0);
- if(size(WFM::Args()) > 1 && is(WFM::Args(1), map))
- param = (map) WFM::Args(1);
- }
- y2debug("func=%1", func);
- y2debug("param=%1", param);
-
- /* Create a summary*/
- if(func == "Summary") {
- ret = select(IscsiClient::Summary(), 0, "");
- }
- /* Reset configuration */
- else if (func == "Reset") {
- IscsiClient::Import($[]);
- ret = $[];
- }
- /* Change configuration (run AutoSequence) */
- else if (func == "Change") {
- ret = IscsiClientAutoSequence();
- }
- /* Import configuration */
- else if (func == "Import") {
- ret = IscsiClient::Import(param);
- }
- /* Return actual state */
- else if (func == "Export") {
- ret = IscsiClient::Export();
- }
- /* Return needed packages */
- else if (func == "Packages") {
- ret = IscsiClient::AutoPackages();
- }
- /* Read current state */
- else if (func == "Read") {
- import "Progress";
- boolean progress_orig = Progress::set (false);
- ret = IscsiClient::Read();
- Progress::set (progress_orig);
- }
- /* Write givven settings */
- else if (func == "Write") {
- import "Progress";
- boolean progress_orig = Progress::set (false);
- IscsiClient::write_only = true;
- ret = IscsiClient::Write();
- Progress::set (progress_orig);
- }
- /* Unknown function */
- else {
- y2error("Unknown function: %1", func);
- ret = false;
- }
-
- y2debug("ret=%1", ret);
- y2milestone("IscsiClient auto finished");
- y2milestone("----------------------------------------");
-
- return ret;
-
- /* EOF */
- }
-