Version: 9.15.0
SALOME_Fake_NamingService Class Reference

#include <SALOME_Fake_NamingService.hxx>

Inheritance diagram for SALOME_Fake_NamingService:

Public Member Functions

 SALOME_Fake_NamingService (CORBA::ORB_ptr orb)
 
 SALOME_Fake_NamingService ()=default
 
bool IsTrueNS () const override
 
std::vector< std::string > repr () override
 
void init_orb (CORBA::ORB_ptr orb=0) override
 
void Register (CORBA::Object_ptr ObjRef, const char *Path) override
 
CORBA::Object_ptr Resolve (const char *Path) override
 
CORBA::Object_ptr ResolveFirst (const char *Path) override
 
void Destroy_Name (const char *Path) override
 
void Destroy_Directory (const char *Path) override
 
void Destroy_FullDirectory (const char *Path) override
 
bool Change_Directory (const char *Path) override
 
std::vector< std::string > list_subdirs () override
 
std::vector< std::string > list_directory () override
 
std::vector< std::string > list_directory_recurs () override
 
SALOME_NamingService_Abstractclone () override
 
CORBA::Object_ptr ResolveComponent (const char *hostname, const char *containerName, const char *componentName, const int nbproc=0) override
 
SALOME_NamingService_AbstractcloneCoVar ()
 

Static Public Member Functions

static void SetLogContainersFile (const std::string &logFileName)
 
static std::string GetLogContainersFile ()
 
static void FlushLogContainersFile ()
 
static std::string ContainerName (const Engines::ContainerParameters &params)
 build a container name, given a ContainerParameters struct. More...
 
static std::string ContainerName (const char *ContainerName)
 provide a default container name if empty. More...
 
static std::string BuildContainerNameForNS (const char *ContainerName, const char *hostname)
 build a string representing a container in Naming Service. More...
 
static std::string BuildContainerNameForNS (const Engines::ContainerParameters &params, const char *hostname)
 build a string representing a container in Naming Service. More...
 
static std::string BuildComponentName (const char *hostname, const char *containerName, const char *componentName, const int nbproc)
 

Static Public Attributes

static constexpr char SEP = '/'
 

Static Private Member Functions

static std::string ReprOfContainersIORS_NoThreadSafe ()
 
static std::string ReprOfContainersIORS ()
 
static std::vector< std::pair< std::string, Engines::Container_var > > ListOfContainersInNS_NoThreadSafe ()
 
static void FlushLogContainersFile_NoThreadSafe ()
 
static std::vector< std::string > SplitDir (const std::string &fullPath)
 

Private Attributes

std::string _current_dir
 

Static Private Attributes

static std::mutex _mutex
 
static std::map< std::string, CORBA::Object_var > _map
 
static bool _log_container_file_thread_launched = false
 
static std::string _log_container_file_name
 

Constructor & Destructor Documentation

◆ SALOME_Fake_NamingService() [1/2]

SALOME_Fake_NamingService::SALOME_Fake_NamingService ( CORBA::ORB_ptr  orb)

◆ SALOME_Fake_NamingService() [2/2]

SALOME_Fake_NamingService::SALOME_Fake_NamingService ( )
default

Referenced by clone().

Member Function Documentation

◆ BuildComponentName()

std::string SALOME_NamingService_Abstract::BuildComponentName ( const char *  hostname,
const char *  containerName,
const char *  componentName,
const int  nbproc 
)
staticinherited

◆ BuildContainerNameForNS() [1/2]

std::string SALOME_NamingService_Abstract::BuildContainerNameForNS ( const char *  containerName,
const char *  hostname 
)
staticinherited

build a string representing a container in Naming Service.

Build a string representing the absolute pathname of a container in SALOME_NamingService. This form gives a suffixed containerName in case of multi processor machine.

Parameters
containerNamename of the container in which the component is instantiated.
hostnamename of the host of the container, without domain names.
Returns
the path under the form /Containers/hostname/containerName
See also
ContainerName(const Engines::MachineParameters& params)

References SALOME_ContainerPy::containerName, SALOME_NamingService_Abstract::ContainerName(), test::hostname, and TestKernelHelpers::ret.

Referenced by Abstract_Engines_Container_i::Abstract_Engines_Container_i(), Container_proxy_impl_final::Container_proxy_impl_final(), Engines_MPIContainer_i::Engines_MPIContainer_i(), Engines_Parallel_Container_i::Engines_Parallel_Container_i(), SALOME_ContainerManager::FindContainer(), SALOME_ContainerManager::GiveContainer(), main(), NamingServiceTest::testBuildContainerNameForNS(), and NamingServiceTest::testBuildContainerNameForNSParams().

◆ BuildContainerNameForNS() [2/2]

std::string SALOME_NamingService_Abstract::BuildContainerNameForNS ( const Engines::ContainerParameters params,
const char *  hostname 
)
staticinherited

build a string representing a container in Naming Service.

Build a string representing the absolute pathname of a container in SALOME_NamingService.

Parameters
paramsused as it is, or replaced by FactoryServer if empty.
hostnamename of the host of the container, without domain names.
Returns
the path under the form /Containers/hostname/containerName
See also
ContainerName(const char *containerName)

References SALOME_NamingService_Abstract::ContainerName(), test::hostname, and TestKernelHelpers::ret.

◆ Change_Directory()

bool SALOME_Fake_NamingService::Change_Directory ( const char *  Path)
overridevirtual

Implements SALOME_NamingService_Abstract.

References _current_dir, and _mutex.

◆ clone()

SALOME_NamingService_Abstract * SALOME_Fake_NamingService::clone ( )
overridevirtual

◆ cloneCoVar()

◆ ContainerName() [1/2]

std::string SALOME_NamingService_Abstract::ContainerName ( const char *  containerName)
staticinherited

provide a default container name if empty.

the given container name is returned unchanged, unless it is empty.

Parameters
containerName
Returns
container name, where empty input is replaced by "FactoryServer", without the path.
See also
BuildContainerNameForNS(const char *containerName, const char *hostname)

References SALOME_ContainerPy::containerName, and TestKernelHelpers::ret.

◆ ContainerName() [2/2]

std::string SALOME_NamingService_Abstract::ContainerName ( const Engines::ContainerParameters params)
staticinherited

build a container name, given a ContainerParameters struct.

Build a container name with a ContainerParameters struct. In case of multi processor machine, container name is suffixed with number of processors.

Parameters
paramsstruct from which we get container name (may be empty) and number of processors.
Returns
a container name without the path.
See also
BuildContainerNameForNS(const Engines::ContainerParameters& params, const char *hostname)

References Engines::ContainerParameters::container_name, Engines::ContainerParameters::isMPI, Engines::ContainerParameters::nb_proc, and TestKernelHelpers::ret.

Referenced by SALOME_ContainerManager::BuildCommandToLaunchLocalContainer(), SALOME_ContainerManager::BuildCommandToLaunchRemoteContainer(), SALOME_NamingService_Abstract::BuildContainerNameForNS(), SALOME_ContainerManager::BuildTempFileToLaunchRemoteContainer(), SALOME_ContainerManager::LaunchContainer(), NamingServiceTest::testContainerName(), and NamingServiceTest::testContainerNameParams().

◆ Destroy_Directory()

void SALOME_Fake_NamingService::Destroy_Directory ( const char *  Path)
overridevirtual

◆ Destroy_FullDirectory()

void SALOME_Fake_NamingService::Destroy_FullDirectory ( const char *  Path)
overridevirtual

◆ Destroy_Name()

void SALOME_Fake_NamingService::Destroy_Name ( const char *  Path)
overridevirtual

◆ FlushLogContainersFile()

void SALOME_Fake_NamingService::FlushLogContainersFile ( )
static

◆ FlushLogContainersFile_NoThreadSafe()

void SALOME_Fake_NamingService::FlushLogContainersFile_NoThreadSafe ( )
staticprivate

◆ GetLogContainersFile()

std::string SALOME_Fake_NamingService::GetLogContainersFile ( )
static

◆ init_orb()

void SALOME_Fake_NamingService::init_orb ( CORBA::ORB_ptr  orb = 0)
overridevirtual

◆ IsTrueNS()

bool SALOME_Fake_NamingService::IsTrueNS ( ) const
overridevirtual

◆ list_directory()

std::vector< std::string > SALOME_Fake_NamingService::list_directory ( )
overridevirtual

◆ list_directory_recurs()

std::vector< std::string > SALOME_Fake_NamingService::list_directory_recurs ( )
overridevirtual

Implements SALOME_NamingService_Abstract.

References _current_dir, and _map.

◆ list_subdirs()

std::vector< std::string > SALOME_Fake_NamingService::list_subdirs ( )
overridevirtual

◆ ListOfContainersInNS_NoThreadSafe()

std::vector< std::pair< std::string, Engines::Container_var > > SALOME_Fake_NamingService::ListOfContainersInNS_NoThreadSafe ( )
staticprivate

◆ Register()

void SALOME_Fake_NamingService::Register ( CORBA::Object_ptr  ObjRef,
const char *  Path 
)
overridevirtual

◆ repr()

std::vector< std::string > SALOME_Fake_NamingService::repr ( )
overridevirtual

◆ ReprOfContainersIORS()

std::string SALOME_Fake_NamingService::ReprOfContainersIORS ( )
staticprivate

◆ ReprOfContainersIORS_NoThreadSafe()

std::string SALOME_Fake_NamingService::ReprOfContainersIORS_NoThreadSafe ( )
staticprivate

◆ Resolve()

CORBA::Object_ptr SALOME_Fake_NamingService::Resolve ( const char *  Path)
overridevirtual

◆ ResolveComponent()

CORBA::Object_ptr SALOME_Fake_NamingService::ResolveComponent ( const char *  hostname,
const char *  containerName,
const char *  componentName,
const int  nbproc = 0 
)
overridevirtual

◆ ResolveFirst()

CORBA::Object_ptr SALOME_Fake_NamingService::ResolveFirst ( const char *  Path)
overridevirtual

◆ SetLogContainersFile()

void SALOME_Fake_NamingService::SetLogContainersFile ( const std::string &  logFileName)
static

◆ SplitDir()

std::vector< std::string > SALOME_Fake_NamingService::SplitDir ( const std::string &  fullPath)
staticprivate

Field Documentation

◆ _current_dir

std::string SALOME_Fake_NamingService::_current_dir
mutableprivate

◆ _log_container_file_name

std::string SALOME_Fake_NamingService::_log_container_file_name
staticprivate

◆ _log_container_file_thread_launched

bool SALOME_Fake_NamingService::_log_container_file_thread_launched = false
staticprivate

◆ _map

◆ _mutex

std::mutex SALOME_Fake_NamingService::_mutex
staticprivate

◆ SEP

constexpr char SALOME_NamingService_Container_Abstract::SEP = '/'
staticconstexprinherited