#include <Y2PluginComponent.h>

Public Member Functions | |
| Y2PluginComponent (bool is_server, string filename, const char *creator_name, const char *component_name, int level) | |
| Y2PluginComponent (string filename, const char *creator_name, const char *component_name, const char *name_space) | |
| ~Y2PluginComponent () | |
| string | name () const |
| YCPValue | evaluate (const YCPValue &command) |
| SCRAgent * | getSCRAgent () |
| Y2Namespace * | import (const char *name_space) |
| void | result (const YCPValue &result) |
| void | setServerOptions (int argc, char **argv) |
| YCPValue | doActualWork (const YCPList &arglist, Y2Component *user_interface) |
| Y2Component * | component () |
Private Member Functions | |
| bool | loadPlugin (const char *name_space=NULL) |
| Y2ComponentCreator * | locateSym (int num) |
Private Attributes | |
| const bool | is_server |
| string | filename |
| string | creator_name |
| string | component_name |
| int | argc |
| char ** | argv |
| int | level |
| void * | handle |
| Y2Component * | comp |
| Y2PluginComponent::Y2PluginComponent | ( | bool | is_server, | |
| string | filename, | |||
| const char * | creator_name, | |||
| const char * | component_name, | |||
| int | level | |||
| ) |
| Y2PluginComponent::Y2PluginComponent | ( | string | filename, | |
| const char * | creator_name, | |||
| const char * | component_name, | |||
| const char * | name_space | |||
| ) |
| Y2PluginComponent::~Y2PluginComponent | ( | ) |
Frees internal data.
References comp, handle, and Y2Component::result().
| string Y2PluginComponent::name | ( | ) | const [virtual] |
Let the server evaluate a command.
This method is only valid, if the component is a server.
Reimplemented from Y2Component.
References comp, component_name, Y2Component::evaluate(), handle, loadPlugin(), and y2error.
| SCRAgent * Y2PluginComponent::getSCRAgent | ( | ) | [virtual] |
Returns the SCRAgent of the Y2Component or NULL if it doesn't have one.
Reimplemented from Y2Component.
References comp, Y2Component::getSCRAgent(), handle, and loadPlugin().
| Y2Namespace * Y2PluginComponent::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.
| name_space | the name of the required namespace |
Reimplemented from Y2Component.
References comp, handle, Y2Component::import(), and loadPlugin().
| void Y2PluginComponent::result | ( | const YCPValue & | result | ) | [virtual] |
Tells this server, that the client doesn't need it's services any longer and that the exit code of the client is result.
This method is only valid, if the component is a server.
Reimplemented from Y2Component.
References comp, handle, and Y2Component::result().
| void Y2PluginComponent::setServerOptions | ( | int | argc, | |
| char ** | argv | |||
| ) | [virtual] |
Sets the commandline options of the server.
This method is only valid, if the component is a server.
Reimplemented from Y2Component.
References comp, and Y2Component::setServerOptions().
| YCPValue Y2PluginComponent::doActualWork | ( | const YCPList & | arglist, | |
| Y2Component * | user_interface | |||
| ) | [virtual] |
Launches the plugin with the previously set parameters.
Reimplemented from Y2Component.
References comp, Y2Component::doActualWork(), handle, and loadPlugin().
| Y2Component* Y2PluginComponent::component | ( | ) | [inline] |
Return the already allocated component. It could be NULL, if there was a problem loading the component.
References comp.
Referenced by Y2CCPlugin::provideNamespace().
| bool Y2PluginComponent::loadPlugin | ( | const char * | name_space = NULL |
) | [private] |
Does actually load the plugin.
References argc, argv, comp, component_name, Y2ComponentCreator::create(), filename, handle, is_server, Y2ComponentCreator::isServerCreator(), locateSym(), Y2ComponentCreator::provideNamespace(), Y2Component::setServerOptions(), y2debug, y2error, and y2milestone.
Referenced by doActualWork(), evaluate(), getSCRAgent(), and import().
| Y2ComponentCreator * Y2PluginComponent::locateSym | ( | int | num | ) | [private] |
Tries to locate the global componentcreator via dlsym.
References creator_name, handle, SymbolTable::size(), and y2debug.
Referenced by loadPlugin().
const bool Y2PluginComponent::is_server [private] |
It this component a server or a client?
Referenced by loadPlugin().
string Y2PluginComponent::filename [private] |
The name of the plugin library.
Referenced by loadPlugin().
string Y2PluginComponent::creator_name [private] |
Name of the global component creator.
Referenced by locateSym().
string Y2PluginComponent::component_name [private] |
Name of the component that is implemented by the plugin.
Referenced by evaluate(), loadPlugin(), and name().
int Y2PluginComponent::argc [private] |
Stores options for a server plugin.
Referenced by loadPlugin().
char** Y2PluginComponent::argv [private] |
Stores options for a server plugin.
Referenced by loadPlugin().
int Y2PluginComponent::level [private] |
The component level the plugin was started in.
void* Y2PluginComponent::handle [private] |
Handle of the dynamic loaded library.
Referenced by doActualWork(), evaluate(), getSCRAgent(), import(), loadPlugin(), locateSym(), result(), and ~Y2PluginComponent().
Y2Component* Y2PluginComponent::comp [private] |
The created Y2Component.
Referenced by component(), doActualWork(), evaluate(), getSCRAgent(), import(), loadPlugin(), result(), setServerOptions(), and ~Y2PluginComponent().
1.5.6