23 #define private public
24 #define protected public
25 #include <omniORB4/CORBA.h>
26 #include <omniORB4/internal/typecode.h>
35 #include "SALOME_LifeCycleCORBA.hxx"
36 #include "SALOME_ContainerManager.hxx"
37 #include "Basics_Utils.hxx"
45 #define getpid _getpid
63 :
Container(other),_componentNames(other._componentNames),
64 _launchModeType(other._launchModeType->deepCpyOnlyStaticInfo()),
65 _shutdownLevel(other._shutdownLevel),
71 const std::vector<std::string>& componentNames,
int shutdownLev):
Container(other),_componentNames(componentNames),
117 throw Exception(
"SalomeContainer::checkCapabilityToDealWith : SalomeContainer is not able to deal with this type of ComponentInstance.");
124 std::istringstream iss(value);
142 throw Exception(
"SalomeContainer::setProperty : type value is not correct (mono or multi): " + value);
154 std::ostringstream oss; oss << reti;
229 const std::string& resource_name,
230 const std::string& container_name)
233 && askingNode !=
nullptr
238 tempSct.
setProperty(
"container_name", container_name);
240 std::vector<std::string> noComponentNames;
Base class for all component instances.
virtual std::string getKind() const
Return the component kind.
static const char AOC_ENTRY[]
virtual void setAttachOnCloningStatus(bool val) const
bool _isAttachedOnCloning
virtual Engines::Container_var getContainer(const Task *askingNode) const =0
virtual void shutdown()=0
virtual std::string getType() const =0
virtual bool isAlreadyStarted(const Task *askingNode) const =0
static const char TYPE_NAME[]
static const char TYPE_NAME[]
std::string getFullPlacementId(const Task *askingNode) const
Get the container full path for a component instance.
bool isAlreadyStarted(const Task *askingNode) const
Check if the component instance container is already started.
void start(const Task *askingNode) override
Start a salome container (true salome container not yacs one) with given ContainerParameters (_params...
std::string getPlacementId(const Task *askingNode) const
Get the container placement id for a component instance.
void setProperty(const std::string &name, const std::string &value)
std::map< std::string, std::string > getResourceProperties(const std::string &name) const
void checkCapabilityToDealWith(const ComponentInstance *inst) const
void unLock()
For thread safety for concurrent load operation on same Container.
void lock()
For thread safety for concurrent load operation on same Container.
Container * cloneAlways() const
std::vector< std::string > _componentNames
virtual CORBA::Object_ptr loadComponent(Task *inst)
Load a component instance in this container.
SalomeContainerTools _sct
std::string getKind() const
std::string getProperty(const std::string &name) const
void addComponentName(const std::string &name)
SalomeContainerHelper * _launchModeType
bool canAcceptImposedResource() override
Engines::Container_ptr getContainerPtr(const Task *askingNode) const
void addToResourceList(const std::string &name)
virtual ~SalomeContainer()
YACS::BASES::Mutex _mutex
thread safety in Salome ???
Container * clone() const
WARNING ! clone behaviour MUST be in coherence with what is returned by isAttachedOnCloning() method
std::map< std::string, std::string > getProperties() const
static const char TYPE_PROPERTY_STR[]
virtual bool hasImposedResource() const