#include <CppContainer.hxx>
Public Member Functions | |
CppContainer () | |
virtual | ~CppContainer () |
std::string | getKind () const |
bool | isAlreadyStarted (const Task *askingNode) const |
void | start (const Task *askingNode) throw (YACS::Exception) |
void | shutdown (int level) |
std::string | getPlacementId (const Task *askingNode) const |
std::string | getFullPlacementId (const Task *askingNode) const |
YACS::ENGINE::Container * | clone () const |
WARNING ! clone behaviour MUST be in coherence with what is returned by isAttachedOnCloning() method More... | |
Container * | cloneAlways () const |
void | lock () |
void | unLock () |
void | checkCapabilityToDealWith (const ComponentInstance *inst) const throw (YACS::Exception) |
bool | loadComponentLibrary (const std::string &componentName) throw (YACS::Exception) |
CppComponent * | createComponentInstance (const std::string &componentName, int studyID=0) |
void | createInternalInstance (const std::string &componentName, void *&obj, RunFunction &r, TerminateFunction &t) |
void | unregisterComponentInstance (CppComponent *C) |
void | setProperty (const std::string &name, const std::string &value) |
std::string | getProperty (const std::string &name) const |
void | clearProperties () |
void | addComponentName (const std::string &name) |
std::map< std::string, std::string > | getProperties () const |
std::map< std::string, std::string > | getResourceProperties (const std::string &name) const |
Public Member Functions inherited from YACS::ENGINE::Container | |
virtual std::string | getDiscreminantStrOfThis (const Task *askingNode) const |
virtual void | setAttachOnCloningStatus (bool val) const |
virtual void | attachOnCloning () const |
virtual void | dettachOnCloning () const |
virtual bool | isAttachedOnCloning () const |
virtual bool | isSupportingRTODefNbOfComp () const |
virtual void | setProperties (const std::map< std::string, std::string > &properties) |
std::string | getName () const |
void | setName (std::string name) |
WARNING ! name is used in edition to identify different containers, it is not the runtime name of the container More... | |
void | setProc (Proc *proc) |
Proc * | getProc () |
Public Member Functions inherited from YACS::ENGINE::RefCounter | |
unsigned int | getRefCnt () const |
void | incrRef () const |
bool | decrRef () |
Static Public Attributes | |
static char | KIND [] ="Cpp" |
Static Public Attributes inherited from YACS::ENGINE::Container | |
static const char | KIND_ENTRY [] ="container_kind" |
static const char | AOC_ENTRY [] ="attached_on_cloning" |
Static Public Attributes inherited from YACS::ENGINE::RefCounter | |
static unsigned int | _totalCnt =0 |
Protected Attributes | |
YACS::BASES::Mutex | _mutex |
LocalContainer * | _trueCont |
Protected Attributes inherited from YACS::ENGINE::Container | |
std::string | _name |
bool | _isAttachedOnCloning |
Proc * | _proc |
Protected Attributes inherited from YACS::ENGINE::RefCounter | |
unsigned int | _cnt |
Friends | |
class | CppComponent |
class | LocalContainer |
Additional Inherited Members | |
Protected Member Functions inherited from YACS::ENGINE::Container | |
Container () | |
virtual | ~Container () |
Definition at line 103 of file CppContainer.hxx.
CppContainer::CppContainer | ( | ) |
Local C++ container class constructor
Definition at line 51 of file CppContainer.cxx.
References DEBTRACE.
Referenced by clone(), and cloneAlways().
|
virtual |
Local C++ container class destructor
Definition at line 63 of file CppContainer.cxx.
References DEBTRACE.
|
inlinevirtual |
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 171 of file CppContainer.cxx.
References YACS::ENGINE::CppComponent::KIND.
|
inlinevirtual |
|
virtual |
WARNING ! clone behaviour MUST be in coherence with what is returned by isAttachedOnCloning() method
Implements YACS::ENGINE::Container.
Definition at line 98 of file CppContainer.cxx.
References YACS::ENGINE::Container::_isAttachedOnCloning, CppContainer(), and YACS::ENGINE::RefCounter::incrRef().
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 109 of file CppContainer.cxx.
References CppContainer().
CppComponent * CppContainer::createComponentInstance | ( | const std::string & | componentName, |
int | studyID = 0 |
||
) |
Definition at line 129 of file CppContainer.cxx.
References _trueCont, YACS::ENGINE::LocalContainer::createComponentInstance(), and DEBTRACE.
void CppContainer::createInternalInstance | ( | const std::string & | componentName, |
void *& | obj, | ||
RunFunction & | r, | ||
TerminateFunction & | t | ||
) |
Definition at line 141 of file CppContainer.cxx.
References _trueCont, YACS::ENGINE::LocalContainer::createInternalInstance(), DEBTRACE, and gui.Appli::t.
Referenced by YACS::ENGINE::CppComponent::load().
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 166 of file CppContainer.cxx.
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 78 of file CppContainer.cxx.
References KIND.
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 161 of file CppContainer.cxx.
|
inlinevirtual |
Implements YACS::ENGINE::Container.
Definition at line 132 of file CppContainer.hxx.
|
inlinevirtual |
Implements YACS::ENGINE::Container.
Definition at line 129 of file CppContainer.hxx.
|
inlinevirtual |
Implements YACS::ENGINE::Container.
Definition at line 133 of file CppContainer.hxx.
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 83 of file CppContainer.cxx.
References _trueCont.
bool CppContainer::loadComponentLibrary | ( | const std::string & | componentName | ) | throw (YACS::Exception) |
Definition at line 114 of file CppContainer.cxx.
References YACS::ENGINE::LocalLibrary::good().
Referenced by YACS::ENGINE::CppComponent::load().
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 68 of file CppContainer.cxx.
References _mutex.
Referenced by YACS::ENGINE::CppComponent::load().
|
inlinevirtual |
|
virtual |
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 88 of file CppContainer.cxx.
References YACS::ENGINE::LocalContainer::get().
|
virtual |
Implements YACS::ENGINE::Container.
Definition at line 73 of file CppContainer.cxx.
References _mutex.
Referenced by YACS::ENGINE::CppComponent::load().
void CppContainer::unregisterComponentInstance | ( | CppComponent * | C | ) |
Definition at line 154 of file CppContainer.cxx.
References _trueCont, and YACS::ENGINE::LocalContainer::unregisterComponentInstance().
|
friend |
Definition at line 105 of file CppContainer.hxx.
|
friend |
Definition at line 106 of file CppContainer.hxx.
|
protected |
Definition at line 138 of file CppContainer.hxx.
|
protected |
Definition at line 139 of file CppContainer.hxx.
Referenced by createComponentInstance(), createInternalInstance(), isAlreadyStarted(), and unregisterComponentInstance().
|
static |
Definition at line 136 of file CppContainer.hxx.
Referenced by getKind().