Version: 9.15.0
YACS::ENGINE::SalomeContainerToolsDecorator Class Reference

#include <SalomeContainerTools.hxx>

Inheritance diagram for YACS::ENGINE::SalomeContainerToolsDecorator:
Collaboration diagram for YACS::ENGINE::SalomeContainerToolsDecorator:

Public Member Functions

 SalomeContainerToolsDecorator (SalomeContainerToolsBase *decorated, const PlayGround *pg, SalomeHPContainerVectOfHelper *vh, const Task *node, int nbCoresPerWorker)
 
std::string getProperty (const std::string &name) const override
 
void setProperty (const std::string &name, const std::string &value) override
 
const std::map< std::string, std::string > & getProperties () const override
 
std::map< std::string, std::string > getResourceProperties (const std::string &name) const override
 
void clearProperties () override
 
void addToComponentList (const std::string &name) override
 
void addToResourceList (const std::string &name) override
 
Engines::ContainerParameters getParameters () const override
 
void setContainerName (const std::string &name) override
 
std::string getHostName () const override
 
std::string getNotNullContainerName (const Container *contPtr, const Task *askingNode, bool &isEmpty) const override
 
std::string getContainerName () const override
 
int getNumberOfCoresPerWorker () const override
 
- Public Member Functions inherited from YACS::ENGINE::SalomeContainerToolsBase
virtual ~SalomeContainerToolsBase ()
 

Private Attributes

SalomeContainerToolsBase_decorated
 
const PlayGround_pg
 
SalomeHPContainerVectOfHelper_vh
 
const Task_node
 
int _nb_cores_per_worker
 

Additional Inherited Members

- Static Public Member Functions inherited from YACS::ENGINE::SalomeContainerToolsBase
static void SetContainerNameOf (Engines::ContainerParameters &params, const std::string &name)
 
static void Start (const std::vector< std::string > &compoNames, SalomeContainerHelper *schelp, SalomeContainerToolsBase &sct, int &shutdownLevel, const Container *cont, const Task *askingNode)
 
static CORBA::Object_ptr LoadComponent (SalomeContainerHelper *launchModeType, Container *cont, Task *askingNode)
 
static CORBA::Object_ptr CreateComponentInstance (Container *cont, Engines::Container_ptr contPtr, const ComponentInstance *inst)
 
static std::string GetPlacementId (const SalomeContainerHelper *launchModeType, const Container *cont, const Task *askingNode)
 
static std::string GetFullPlacementId (const SalomeContainerHelper *launchModeType, const Container *cont, const Task *askingNode)
 

Detailed Description

Definition at line 93 of file SalomeContainerTools.hxx.

Constructor & Destructor Documentation

◆ SalomeContainerToolsDecorator()

YACS::ENGINE::SalomeContainerToolsDecorator::SalomeContainerToolsDecorator ( SalomeContainerToolsBase decorated,
const PlayGround pg,
SalomeHPContainerVectOfHelper vh,
const Task node,
int  nbCoresPerWorker 
)
inline

Member Function Documentation

◆ addToComponentList()

void YACS::ENGINE::SalomeContainerToolsDecorator::addToComponentList ( const std::string &  name)
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 103 of file SalomeContainerTools.hxx.

103 { return _decorated->addToComponentList(name); }
virtual void addToComponentList(const std::string &name)=0

◆ addToResourceList()

void YACS::ENGINE::SalomeContainerToolsDecorator::addToResourceList ( const std::string &  name)
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 104 of file SalomeContainerTools.hxx.

104 { return _decorated->addToResourceList(name); }
virtual void addToResourceList(const std::string &name)=0

◆ clearProperties()

void YACS::ENGINE::SalomeContainerToolsDecorator::clearProperties ( )
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 102 of file SalomeContainerTools.hxx.

102 { return _decorated->clearProperties(); }

◆ getContainerName()

std::string YACS::ENGINE::SalomeContainerToolsDecorator::getContainerName ( ) const
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 110 of file SalomeContainerTools.hxx.

110 { return _decorated->getContainerName(); }
virtual std::string getContainerName() const =0

◆ getHostName()

std::string YACS::ENGINE::SalomeContainerToolsDecorator::getHostName ( ) const
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 108 of file SalomeContainerTools.hxx.

108 { return _decorated->getHostName(); }
virtual std::string getHostName() const =0

◆ getNotNullContainerName()

std::string YACS::ENGINE::SalomeContainerToolsDecorator::getNotNullContainerName ( const Container contPtr,
const Task askingNode,
bool &  isEmpty 
) const
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 109 of file SalomeContainerTools.hxx.

109 { return _decorated->getNotNullContainerName(contPtr,askingNode,isEmpty); }
virtual std::string getNotNullContainerName(const Container *contPtr, const Task *askingNode, bool &isEmpty) const =0

◆ getNumberOfCoresPerWorker()

int YACS::ENGINE::SalomeContainerToolsDecorator::getNumberOfCoresPerWorker ( ) const
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 111 of file SalomeContainerTools.hxx.

virtual int getNumberOfCoresPerWorker() const =0

◆ getParameters()

Engines::ContainerParameters SalomeContainerToolsDecorator::getParameters ( ) const
overridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 555 of file SalomeContainerTools.cxx.

556 {
557  Engines::ContainerParameters ret(_decorated->getParameters());
558  std::string st(ret.resource_params.hostname);
559  if(!st.empty())
560  return ret;
561  int nbProcPerNode(this->_nb_cores_per_worker);
562  std::size_t iPos(_vh->locateTask(_node)),nPos(_vh->size());
563  if(_vh->size()!=_pg->getNumberOfWorkers(nbProcPerNode))
564  throw YACS::Exception("SalomeContainerToolsDecorator::getParameters : Internal error !");
565  std::string zeMachine(_pg->deduceMachineFrom(iPos,nbProcPerNode));
566  ret.resource_params.hostname=CORBA::string_dup(zeMachine.c_str());
567  return ret;
568 }
int getNumberOfWorkers(int nbCoresPerWorker) const
Definition: PlayGround.cxx:579
std::string deduceMachineFrom(int workerId, int nbProcPerNode) const
Definition: PlayGround.cxx:570
virtual Engines::ContainerParameters getParameters() const =0
std::size_t locateTask(const Task *node) const

References _decorated, _nb_cores_per_worker, _node, _pg, _vh, YACS::ENGINE::PlayGround::deduceMachineFrom(), YACS::ENGINE::PlayGround::getNumberOfWorkers(), YACS::ENGINE::SalomeContainerToolsBase::getParameters(), YACS::ENGINE::SalomeHPContainerVectOfHelper::locateTask(), and YACS::ENGINE::SalomeHPContainerVectOfHelper::size().

◆ getProperties()

const std::map<std::string,std::string>& YACS::ENGINE::SalomeContainerToolsDecorator::getProperties ( ) const
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 100 of file SalomeContainerTools.hxx.

100 { return _decorated->getProperties(); }
virtual const std::map< std::string, std::string > & getProperties() const =0

◆ getProperty()

std::string YACS::ENGINE::SalomeContainerToolsDecorator::getProperty ( const std::string &  name) const
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 98 of file SalomeContainerTools.hxx.

98 { return _decorated->getProperty(name); }
virtual std::string getProperty(const std::string &name) const =0

◆ getResourceProperties()

std::map<std::string,std::string> YACS::ENGINE::SalomeContainerToolsDecorator::getResourceProperties ( const std::string &  name) const
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 101 of file SalomeContainerTools.hxx.

101 { return _decorated->getResourceProperties(name); }
virtual std::map< std::string, std::string > getResourceProperties(const std::string &name) const =0

◆ setContainerName()

void YACS::ENGINE::SalomeContainerToolsDecorator::setContainerName ( const std::string &  name)
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 107 of file SalomeContainerTools.hxx.

107 { return _decorated->setContainerName(name); }
virtual void setContainerName(const std::string &name)=0

◆ setProperty()

void YACS::ENGINE::SalomeContainerToolsDecorator::setProperty ( const std::string &  name,
const std::string &  value 
)
inlineoverridevirtual

Implements YACS::ENGINE::SalomeContainerToolsBase.

Definition at line 99 of file SalomeContainerTools.hxx.

99 { return _decorated->setProperty(name,value); }
virtual void setProperty(const std::string &name, const std::string &value)=0

Member Data Documentation

◆ _decorated

SalomeContainerToolsBase* YACS::ENGINE::SalomeContainerToolsDecorator::_decorated
private

Definition at line 113 of file SalomeContainerTools.hxx.

Referenced by getParameters().

◆ _nb_cores_per_worker

int YACS::ENGINE::SalomeContainerToolsDecorator::_nb_cores_per_worker
private

Definition at line 117 of file SalomeContainerTools.hxx.

Referenced by getParameters().

◆ _node

const Task* YACS::ENGINE::SalomeContainerToolsDecorator::_node
private

Definition at line 116 of file SalomeContainerTools.hxx.

Referenced by getParameters().

◆ _pg

const PlayGround* YACS::ENGINE::SalomeContainerToolsDecorator::_pg
private

Definition at line 114 of file SalomeContainerTools.hxx.

Referenced by getParameters().

◆ _vh

SalomeHPContainerVectOfHelper* YACS::ENGINE::SalomeContainerToolsDecorator::_vh
private

Definition at line 115 of file SalomeContainerTools.hxx.

Referenced by getParameters().


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