Y2WFMComponent Class Reference

#include <Y2WFMComponent.h>

Inheritance diagram for Y2WFMComponent:
Y2Component

List of all members.

Public Member Functions

 Y2WFMComponent ()
 ~Y2WFMComponent ()
virtual string name () const
virtual YCPValue doActualWork (const YCPList &arglist, Y2Component *displayserver)
YCPInteger SCROpen (const YCPString &name, const YCPBoolean &check_version)
void SCRClose (const YCPInteger &handle)
YCPString SCRGetName (const YCPInteger &handle)
void SCRSetDefault (const YCPInteger &handle)
YCPInteger SCRGetDefault () const
YCPValue Args (const YCPInteger &index=YCPNull()) const
YCPString GetLanguage () const
YCPString GetEncoding () const
YCPString SetLanguage (const YCPString &language, const YCPString &encoding=YCPNull())
YCPValue Read (const YCPPath &path, const YCPValue &arg)
YCPValue Write (const YCPPath &path, const YCPValue &arg1, const YCPValue &arg2=YCPNull())
YCPValue Execute (const YCPPath &path, const YCPValue &arg1)
YCPValue CallFunction (const YCPString &client, const YCPList &args=YCPList())
YCPString GetEnvironmentEncoding ()
YCPBoolean ClientExists (const YCPString &client)
virtual Y2Namespaceimport (const char *name_space)
void setupComponent (string client_name, string fullname, const YCPValue &script)

Static Public Member Functions

static Y2WFMComponentinstance ()

Private Types

typedef vector< WFMSubAgent * > WFMSubAgents
typedef vector
< Y2SystemNamespace * > 
SystemNamespaces

Private Member Functions

bool createDefaultSCR ()
WFMSubAgents::iterator find_handle (int)
const char * get_env_lang () const

Private Attributes

WFMSubAgents scrs
SystemNamespaces system_namespaces
int handle_cnt
int default_handle
WFMSubAgent local
string modulename
YCPList argumentlist
string currentLanguage
string currentEncoding
string systemEncoding
string environmentEncoding
YCPValue script
string client_name
string fullname

Static Private Attributes

static Y2WFMComponentcurrent_wfm = 0

Member Typedef Documentation

typedef vector<WFMSubAgent*> Y2WFMComponent::WFMSubAgents [private]

Type and list of SCR instances.


Constructor & Destructor Documentation

Y2WFMComponent::Y2WFMComponent (  ) 
Y2WFMComponent::~Y2WFMComponent (  ) 

Cleans up

References current_wfm, and scrs.


Member Function Documentation

YCPValue Y2WFMComponent::Args ( const YCPInteger index = YCPNull ()  )  const

Args Returns the arguments with which the module was called. The result is a list whose arguments are the module's arguments. If the module was called with CallFunction("my_mod", [17,true]), Args() will return [ 17, true ].

Returns:
list List of arguments

References argumentlist, YCPElement::isNull(), YCPList::value(), and YCPError().

Referenced by WFMArgs(), and WFMArgs2().

YCPValue Y2WFMComponent::CallFunction ( const YCPString client,
const YCPList args = YCPList () 
)

call Executes a YCP client or a Y2 client component.

Parameters:
string name client name
list arguments list of arguments

This implies * that the called YCP code has full access to all module status in the currently running YaST.

The modulename is temporarily changed to the name of the called script or a component.

In the example, WFM looks for the file YAST2HOME/clients/inst_mouse.ycp and executes it. If the client is not found, a Y2 client component is tried to be created.

call ("inst_mouse", [true, false]) -> ....

Returns:
any

References Y2ComponentBroker::createClient(), Y2Component::doActualWork(), ExecutionEnvironment::filename(), ExecutionEnvironment::linenumber(), Y2Component::result(), ExecutionEnvironment::setFilename(), ExecutionEnvironment::setLinenumber(), ycp2debug, ycp2error, and ycp2milestone.

Referenced by WFMCallFunction(), and WFMCallFunction1().

YCPBoolean Y2WFMComponent::ClientExists ( const YCPString client  ) 

ClientExists Checks whether a YCP client exists

Parameters:
string name client name

This is similar to 'call' or 'CallFunction' but client is only checked for existence and not executed. If client exists 'true' is returned, otherwise 'false'.

ClientExists ("inst_mouse") -> true ClientExists ("missing_client") -> false

Returns:
boolean whether client exists

References Y2ComponentBroker::createClient(), YCPElement::isNull(), and y2error.

Referenced by WFMClientExists().

bool Y2WFMComponent::createDefaultSCR (  )  [private]
YCPValue Y2WFMComponent::doActualWork ( const YCPList arglist,
Y2Component displayserver 
) [virtual]

Executes the YCP script.

Reimplemented from Y2Component.

References YCPList::add(), argumentlist, fullname, modulename, name(), script, YCPList::size(), YCPList::value(), y2debug, and y2error.

Referenced by main().

YCPValue Y2WFMComponent::Execute ( const YCPPath path,
const YCPValue arg1 
)

Execute Special interface to the system agent. Not for general use.

Parameters:
path path Path any options
Returns:
any WFM::Execute (.local.foo, ... ) works like SCR::Execute (.target.foo, ...) but in the inst-sys rather than on the system being installed. It only works for paths starting with .local

References WFMSubAgent::agent(), SCRAgent::Execute(), local, WFMSubAgent::start(), and YCPError().

Referenced by WFMExecute().

Y2WFMComponent::WFMSubAgents::iterator Y2WFMComponent::find_handle ( int  handle  )  [private]

Finds a SCR instance to a given handle.

References scrs, and wfmsubagent_less().

Referenced by SCRClose(), SCRGetName(), and SCRSetDefault().

const char * Y2WFMComponent::get_env_lang (  )  const [private]

Get the language from the environment.

References names.

Referenced by Y2WFMComponent().

YCPString Y2WFMComponent::GetEncoding (  )  const

GetEncoding Returns the current encoding code

Returns:
string Encoding

References systemEncoding.

Referenced by WFMGetEncoding().

YCPString Y2WFMComponent::GetEnvironmentEncoding (  ) 

GetEnvironmentEncoding Returns the encoding code of the environment where YaST is started

Returns:
string encoding code of the environment

References environmentEncoding.

Referenced by WFMGetEnvironmentEncoding().

YCPString Y2WFMComponent::GetLanguage (  )  const

GetLanguage Returns the current language code (without modifiers !)

Returns:
string Language

References currentLanguage.

Referenced by WFMGetLanguage().

Y2Namespace * Y2WFMComponent::import ( const char *  name_space  )  [virtual]

Try to import a given namespace. This method is used for transparent handling of namespaces (YCP modules) through whole YaST. NOTICE: there is no reverse operation to import. Semantics of YCP modules is there is a single instance and it is available from the first import until the end of YaST run.

Parameters:
name_space the name of the required namespace
Returns:
on errors, NULL should be returned. The error reporting must be done by the component itself (typically using y2log). On success, the method should return a proper instance of the imported namespace ready to be used. The returned instance is still owned by the component, any other part of YaST will try to free it. Thus, it's possible to share the instance.

Reimplemented from Y2Component.

References Y2ComponentBroker::getNamespaceComponent(), Y2Component::import(), Bytecode::readModule(), system_namespaces, and y2milestone.

Y2WFMComponent * Y2WFMComponent::instance (  )  [static]
string Y2WFMComponent::name (  )  const [virtual]

Returns "wfm";

Implements Y2Component.

Referenced by doActualWork(), and SCROpen().

YCPValue Y2WFMComponent::Read ( const YCPPath path,
const YCPValue arg 
)

Read Special interface to the system agent. Not for general use.

Parameters:
path path Path any options
Returns:
any WFM::Read (.local.foo, ... ) works like SCR::Read (.target.foo, ...) but in the inst-sys rather than on the system being installed. It only works for paths starting with .local

References WFMSubAgent::agent(), YCPElement::isNull(), local, SCRAgent::Read(), WFMSubAgent::start(), and YCPError().

Referenced by WFMRead().

void Y2WFMComponent::SCRClose ( const YCPInteger handle  ) 

SCRClose Closes a scr instance.

Parameters:
integer handle SCR handle
Returns:
void

References agent, default_handle, find_handle(), scrs, system_namespaces, y2milestone, ycperror, and ycpmilestone.

Referenced by WFMSCRClose().

YCPInteger Y2WFMComponent::SCRGetDefault (  )  const

SCRGetDefault Gets the default scr instance.

Returns:
integer Default SCR handle

References default_handle.

Referenced by WFMSCRGetDefault().

YCPString Y2WFMComponent::SCRGetName ( const YCPInteger handle  ) 

SCRGetName Get the name of a scr instance.

Parameters:
integer handle SCR handle
Returns:
string Name

References find_handle(), and scrs.

Referenced by WFMSCRGetName().

YCPInteger Y2WFMComponent::SCROpen ( const YCPString name,
const YCPBoolean check_version 
)

SCROpen Create a new scr instance.

Creates a new scr instance. The name must be a valid y2component name (e.g. "scr", "chroot=/mnt:scr"). The component is created immediately. The parameter check_version determines whether the SuSE Version should be checked. On error a negative value is returned.

Parameters:
string name a valid y2component name
boolean check_version determines whether the SuSE Version should be checked
Returns:
integer On error a negative value is returned.

References agent, handle_cnt, name(), scrs, WFMSubAgent::start_and_check(), and y2error.

Referenced by WFMSCROpen().

void Y2WFMComponent::SCRSetDefault ( const YCPInteger handle  ) 

SCRSetDefault Sets the default scr instance.

Parameters:
integer handle SCR handle
Returns:
void

References default_handle, find_handle(), Y2Component::remote(), scrs, system_namespaces, and y2milestone.

Referenced by WFMSCRSetDefault().

YCPString Y2WFMComponent::SetLanguage ( const YCPString language,
const YCPString encoding = YCPNull () 
)

SetLanguage Selects the language for translate()

Parameters:
string language string encoding SetLanguage("de_DE", "UTF-8") -> "" SetLanguage("de_DE@euro") -> "ISO-8859-15"

The "<proposed encoding>" is the output of 'nl_langinfo (CODESET)' and only given if SetLanguage() is called with a single argument.

Returns:
string proposed encoding have fun

References currentLanguage, YCPElement::isNull(), systemEncoding, y2debug, y2milestone, and y2warning.

Referenced by WFMSetLanguage(), WFMSetLanguage2(), and Y2WFMComponent().

void Y2WFMComponent::setupComponent ( string  client_name,
string  fullname,
const YCPValue script 
)

Setups this script component.

Parameters:
the name of the component that is realized be the script.
script the script. This component clones it, so you can destroy the script after the constructor call.

References client_name, fullname, and script.

Referenced by Y2CCWFM::createInLevel(), and main().

YCPValue Y2WFMComponent::Write ( const YCPPath path,
const YCPValue arg1,
const YCPValue arg2 = YCPNull () 
)

Write Special interface to the system agent. Not for general use.

Parameters:
path path Path any options
Returns:
boolean WFM::Write (.local.foo, ... ) works like SCR::Write (.target.foo, ...) but in the inst-sys rather than on the system being installed. It only works for paths starting with .local

References WFMSubAgent::agent(), local, WFMSubAgent::start(), SCRAgent::Write(), and YCPError().

Referenced by WFMWrite3().


Member Data Documentation

Arguments of the module that is realized through the wfm. The script has access to it via the builtin args(). The symbol of the term itself is the module name.

Referenced by Args(), and doActualWork().

string Y2WFMComponent::client_name [private]

The name of the client that is implemented by the script.

Referenced by setupComponent().

Referenced by GetLanguage(), and SetLanguage().

Handle of default SCR instance.

Referenced by createDefaultSCR(), SCRClose(), SCRGetDefault(), and SCRSetDefault().

environment encoding

Referenced by GetEnvironmentEncoding(), and Y2WFMComponent().

string Y2WFMComponent::fullname [private]

The fullname of the script file.

Referenced by doActualWork(), and setupComponent().

Handle count.

Referenced by SCROpen().

The local system agent.

Referenced by Execute(), Read(), and Write().

string Y2WFMComponent::modulename [private]

The name of the module that is realized by this wfm.

Referenced by doActualWork().

The script that implements the component.

Referenced by doActualWork(), and setupComponent().

Referenced by import(), SCRClose(), and SCRSetDefault().

system encoding

Referenced by GetEncoding(), and SetLanguage().


The documentation for this class was generated from the following files:

Generated on a sunny day for yast2-core by doxygen 1.6.3