#include <CppContainer.hxx>
Public Member Functions | |
void | destroy () |
LocalLibrary | loadComponentLibrary (const std::string &, const char *prefix=NULL, bool forcedLoad=false) |
CppComponent * | createComponentInstance (const char *componentName) |
Find or create a new C++ component instance. More... | |
void | createInternalInstance (const char *componentName, void *&obj, RunFunction &r, TerminateFunction &t) |
void | unLoadComponentLibrary (const std::string &aCompName) |
void | unregisterComponentInstance (CppComponent *C) |
Static Public Member Functions | |
static YACS::ENGINE::LocalContainer * | get () |
Protected Member Functions | |
LocalContainer () | |
virtual | ~LocalContainer () |
Protected Attributes | |
YACS::BASES::Mutex | _instance_mapMutex |
YACS::BASES::Mutex | _library_mapMutex |
Static Protected Attributes | |
static std::map< std::string, LocalLibrary > | _library_map |
static std::multimap < std::string, CppComponent * > | _instance_map |
Static Private Attributes | |
static LocalContainer * | _singleton = NULL |
Friends | |
class | CppComponent |
Definition at line 71 of file CppContainer.hxx.
|
protected |
|
protectedvirtual |
CppComponent * LocalContainer::createComponentInstance | ( | const char * | name | ) |
Find or create a new C++ component instance.
Create a new component class (C++ implementation)
name | : component name |
Try to return a handle to an new instance of a C++ component If the associated library is not loaded, try to load it
Definition at line 243 of file CppContainer.cxx.
References _instance_map, _instance_mapMutex, CppComponent, createInternalInstance(), and gui.Appli::t.
Referenced by YACS::ENGINE::CppContainer::createComponentInstance().
void LocalContainer::createInternalInstance | ( | const char * | componentName, |
void *& | obj, | ||
RunFunction & | r, | ||
TerminateFunction & | t | ||
) |
Definition at line 259 of file CppContainer.cxx.
References _library_map, CORBAEngineTest::i, YACS::ENGINE::LocalLibrary::initHandle, loadComponentLibrary(), p, YACS::ENGINE::LocalLibrary::pingHandle, YACS::ENGINE::LocalLibrary::runHandle, and YACS::ENGINE::LocalLibrary::terminateHandle.
Referenced by createComponentInstance(), and YACS::ENGINE::CppContainer::createInternalInstance().
void LocalContainer::destroy | ( | ) |
Definition at line 200 of file CppContainer.cxx.
References _instance_map, _instance_mapMutex, _library_map, _library_mapMutex, and _singleton.
Referenced by ~LocalContainer().
|
static |
Definition at line 191 of file CppContainer.cxx.
References _singleton, and LocalContainer().
Referenced by YACS::ENGINE::CppContainer::start().
LocalLibrary LocalContainer::loadComponentLibrary | ( | const std::string & | aCompName, |
const char * | prefix = NULL , |
||
bool | forcedLoad = false |
||
) |
Definition at line 293 of file CppContainer.cxx.
References _library_map, DEBTRACE, gui.Appli::t, toupper(), and unLoadComponentLibrary().
Referenced by createInternalInstance().
void LocalContainer::unLoadComponentLibrary | ( | const std::string & | aCompName | ) |
Definition at line 422 of file CppContainer.cxx.
References _library_map.
Referenced by loadComponentLibrary().
void LocalContainer::unregisterComponentInstance | ( | CppComponent * | C | ) |
Definition at line 281 of file CppContainer.cxx.
References _instance_map, _instance_mapMutex, and YACS::ENGINE::ComponentInstance::getCompoName().
Referenced by YACS::ENGINE::CppContainer::unregisterComponentInstance().
|
friend |
Definition at line 73 of file CppContainer.hxx.
Referenced by createComponentInstance().
|
staticprotected |
Definition at line 94 of file CppContainer.hxx.
Referenced by createComponentInstance(), destroy(), and unregisterComponentInstance().
|
protected |
Definition at line 92 of file CppContainer.hxx.
Referenced by createComponentInstance(), destroy(), and unregisterComponentInstance().
|
staticprotected |
Definition at line 93 of file CppContainer.hxx.
Referenced by createInternalInstance(), destroy(), loadComponentLibrary(), and unLoadComponentLibrary().
|
protected |
Definition at line 92 of file CppContainer.hxx.
Referenced by destroy().
|
staticprivate |
Definition at line 98 of file CppContainer.hxx.