/** * File: clients/CASA_auto.ycp * Package: Configuration of CASA * Summary: Client for autoinstallation * Authors: casa * ********************************************************************* * Copyright (C) 2005-2007 Novell, Inc. All Rights Reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; version 2.1 * of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, Novell, Inc. * * To contact Novell about this file by physical or electronic mail, * you may find current contact information at www.novell.com. * ********************************************************************* * * 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 CASA 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 ("CASA_auto", [ "Summary", mm ]); */ { textdomain "CASA"; y2milestone("----------------------------------------"); y2milestone("CASA auto started"); import "NovellCasa"; include "CASA/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(NovellCasa::Summary(), 0, ""); } /* Reset configuration */ else if (func == "Reset") { NovellCasa::Import($[]); ret = $[]; } /* Change configuration (run AutoSequence) */ else if (func == "Change") { ret = NovellCasaAutoSequence(); } /* Import configuration */ else if (func == "Import") { ret = NovellCasa::Import(param); } /* Return actual state */ else if (func == "Export") { ret = NovellCasa::Export(); } /* Return needed packages */ else if (func == "Packages") { ret = NovellCasa::AutoPackages(); } /* Read current state */ else if (func == "Read") { import "Progress"; Progress::off(); ret = NovellCasa::Read(); Progress::on(); } /* Write givven settings */ else if (func == "Write") { import "Progress"; Progress::off(); // NovellCasa::write_only = true; ret = NovellCasa::Write(); Progress::on(); } /* Unknown function */ else { y2error("Unknown function: %1", func); ret = false; } y2debug("ret=%1", ret); y2milestone("CASA auto finished"); y2milestone("----------------------------------------"); return ret; /* EOF */ }