Version: 8.3.0
utilities.h File Reference
#include <iostream>
#include <sstream>
#include <cstdlib>
#include "LocalTraceBufferPool.hxx"
Include dependency graph for utilities.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MESS_INIT(deb)   std::ostringstream os; os<<deb
 For each message to put in the trace, a specific ostingstream object is created and destroyed automatically at the end of the message macro. More...
 
#define MESS_BEGIN(deb)   MESS_INIT(deb)<<__FILE__ <<" ["<<__LINE__<<"] : "
 
#define MESS_END   std::endl; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, os.str().c_str());
 
#define MESS_ABORT   std::endl; LocalTraceBufferPool::instance()->insert(ABORT_MESS, os.str().c_str());
 
#define MESSAGE_BEGIN(msg)   {std::ostringstream ss; ss <<__FILE__ <<" ["<<__LINE__<<"] : "<< msg; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, ss.str().c_str());}
 
#define MESSAGE_ADD(msg)   {std::ostringstream ss; ss << msg; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, ss.str().c_str());}
 
#define MESSAGE_END(msg)   {std::ostringstream ss; ss << msg << std::endl; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, ss.str().c_str());}
 
#define INFOS(msg)   {MESS_BEGIN("- Trace ") << msg << MESS_END}
 
#define PYSCRIPT(msg)   {MESS_INIT("---PYSCRIPT--- ") << msg << MESS_END}
 
#define INTERRUPTION(msg)   {MESS_BEGIN("- INTERRUPTION: ")<< msg << MESS_ABORT}
 
#define IMMEDIATE_ABORT(code)
 
#define COMPILER   "undefined"
 
#define INFOS_COMPILATION
 
#define MESSAGE(msg)   {}
 
#define SCRUTE(var)   {}
 
#define REPERE
 
#define BEGIN_OF(msg)   {}
 
#define END_OF(msg)   {}
 
#define ASSERT(condition)   {}
 

Macro Definition Documentation

#define ASSERT (   condition)    {}

Referenced by SALOME_NamingService::_initialize_root_context(), RegistryConnexion::add(), RegistryService::add(), SALOMEDS_StudyBuilder_i::Addreference(), SALOME_ContainerManager::BuildCommandToLaunchRemoteContainer(), SALOME_NamingService::Change_Directory(), Connexion(), create_instance(), Engines_Parallel_Container_i::createCPPInstance(), Engines_Container_i::createFileRef(), Engines_Parallel_Container_i::createFileRef(), Engines_Container_i::createInstance(), Engines_MPIContainer_i::createMPIInstance(), Engines_Container_i::createSalome_file(), Engines_Parallel_Container_i::createSalome_file(), Engines_Container_i::decInstanceCnt(), Engines_Parallel_Container_i::decInstanceCnt(), SALOME_NamingService::Destroy_Directory(), SALOME_NamingService::Destroy_Name(), duplicate(), RegistryService::end(), Engines_Container_i::Engines_Container_i(), fileRef_i::fileRef_i(), Engines_Parallel_Container_i::find_or_create_instance(), Engines_Container_i::find_or_create_instance(), SALOMEDS_StudyBuilder_i::FindAttribute(), get_adip(), get_uname(), RegistryService::getall(), Salome_file_i::getDistributedFile(), SALOME_FileTransferCORBA::getLocalFile(), SALOME_ContainerManager::GetMPIZeroNode(), Parallel_Salome_file_i::getParallelDistributedFile(), SALOMEDS_SObject_i::GetStudy(), SALOMEDS_Study_i::GetStudy(), RegistryService::hello(), RegistryService::history(), Identity::Identity(), SALOMEDS_StudyManager::init_orb(), SALOMEDS_SObject::init_orb(), SALOMEDS_StudyBuilder::init_orb(), SALOMEDS_Study::init_orb(), SALOMEDS_StudyBuilder_i::IsGUID(), SALOME_LifeCycleCORBA::isKnownComponentClass(), Engines_Container_i::Kill_impl(), Engines_Parallel_Container_i::Kill_impl(), SALOME_ContainerManager::LaunchContainer(), main(), RegistryService::makeseq(), makeText(), NamingService_WaitForServerReadiness(), NOTIFICATION_channel(), operator<<(), SALOME_NamingService::Register(), RegistryConnexion::remove(), RegistryService::remove(), Engines_MPIContainer_i::remove_impl(), Engines_Container_i::remove_impl(), Engines_Parallel_Container_i::remove_impl(), SALOMEDS_StudyBuilder_i::RemoveAttribute(), SALOMEDS_StudyBuilder_i::RemoveComponent(), SALOMEDS_StudyBuilder_i::RemoveReference(), SALOME_NamingService::Resolve(), SALOME_FileTransferCORBA::SALOME_FileTransferCORBA(), SALOMEDS_StudyManager::SALOMEDS_StudyManager(), RegistryService::SessionName(), DSC_Exception::setFileFuncName(), SALOMEDS_StudyBuilder_i::SetGUID(), Engines_Parallel_Component_i::setStudyId(), Engines_Component_i::setStudyId(), LifeCycleCORBATest::setUp(), SALOMEDSTest::setUp(), NamingServiceTest::setUp(), SALOMEDSTest_Embedded::setUp(), RegistryService::size(), RegistryConnexion::~RegistryConnexion(), and SALOME_Exception::~SALOME_Exception().

#define COMPILER   "undefined"
#define IMMEDIATE_ABORT (   code)
Value:
{std::cout <<std::flush; \
std::cerr << "- ABORT " << __FILE__ << " [" <<__LINE__<< "] : " << std::flush; \
std::cerr << "ABORT return code= "<< code << std::endl; \
std::exit(code);}

Referenced by LocalTraceBufferPool::LocalTraceBufferPool().

#define INFOS (   msg)    {MESS_BEGIN("- Trace ") << msg << MESS_END}

Referenced by SALOME_NamingService::_initialize_root_context(), SALOME_ModuleCatalogImpl::_parseArguments(), fileRef_i::addRef(), SALOME_ResourcesManager::AddResource(), SALOME_NamingService::Change_Directory(), Salome_file_i::checkLocalFile(), SALOME_ContainerManager::checkPaCOParameters(), fileTransfer_i::close(), Salome_file_i::close(), Engines_Container_i::copyFile(), Engines_Parallel_Container_i::copyFile(), Container_proxy_impl_final::create_component_instance_env(), Engines_Container_i::create_component_instance_env(), Engines_Parallel_Container_i::create_component_instance_env(), Engines_Parallel_Container_i::create_paco_component_node_instance(), Engines_Parallel_Container_i::createCPPInstance(), Engines_Container_i::createExecutableInstance(), Engines_Container_i::createFileRef(), Engines_Parallel_Container_i::createFileRef(), Engines_Container_i::createInstance(), SALOME_Launcher::createJob(), SALOME_Launcher::createJobWithFile(), Engines_MPIContainer_i::createMPIInstance(), Engines_Parallel_Container_i::createPyNode(), Engines_Parallel_Container_i::createPyScriptNode(), SALOME_NamingService::Current_Directory(), SALOME_NamingService::Destroy_Directory(), SALOME_NamingService::Destroy_Name(), Engines_Container_i::Engines_Container_i(), SALOME_NamingService::Find(), Engines_Parallel_Container_i::find_or_create_instance(), Engines_Container_i::find_or_create_instance(), SALOME_Launcher::getAssignedHostnames(), fileTransfer_i::getBlock(), Salome_file_i::getBlock(), Engines_Parallel_Container_i::getDefaultPyNode(), Engines_Parallel_Container_i::getDefaultPyScriptNode(), Salome_file_i::getDistributedFile(), SALOME_ResourcesManager::GetFittingResources(), SALOME_Launcher::getJobDumpState(), SALOME_Launcher::getJobParameters(), SALOME_Launcher::getJobResults(), SALOME_Launcher::getJobState(), SALOME_Launcher::getJobWorkFile(), SALOME_FileTransferCORBA::getLocalFile(), SALOME_ResourcesManager::getMachineFile(), Parallel_Salome_file_i::getParallelDistributedFile(), SALOME_ResourcesManager::GetResourceDefinition(), KERNEL::getStudyById(), SALOME_ContainerManager::GetTimeOutToLoaunchServer(), SALOME_ContainerManager::GiveContainer(), HandleServerSideSignals(), SALOME_LifeCycleCORBA::isKnownComponentClass(), Engines_Container_i::Kill_impl(), Engines_Parallel_Container_i::Kill_impl(), SALOME_ContainerManager::LaunchContainer(), SALOME_Launcher::launchJob(), Engines_MPIContainer_i::Lcreate_component_instance(), SALOME_NamingService::list(), Engines_MPIContainer_i::Lload_component_Library(), Engines_MPIContainer_i::Lload_impl(), Container_proxy_impl_final::load_component_Library(), SALOME_LifeCycleCORBA::Load_ParallelComponent(), SALOME_Launcher::loadJobs(), main(), NamingService_WaitForServerReadiness(), fileTransfer_i::open(), Salome_file_i::open(), fileTransfer_i::openW(), fileTransfer_i::putBlock(), SALOME_NamingService::Register(), SALOME_Launcher::removeJob(), SALOME_ResourcesManager::RemoveResource(), SALOME_NamingService::Resolve(), SALOME_FileTransferCORBA::SALOME_FileTransferCORBA(), Container_proxy_impl_final::Shutdown(), SALOME_ContainerManager::ShutdownContainers(), KERNEL::SObjectToObject(), SALOME_ContainerManager::StartPaCOPPContainer(), SALOME_Launcher::stopJob(), BatchTest::test(), BatchTest::test_jobsubmit_mpi(), BatchTest::test_jobsubmit_simple(), and SALOME_Launcher::testBatch().

#define INFOS_COMPILATION

Referenced by main().

#define INTERRUPTION (   msg)    {MESS_BEGIN("- INTERRUPTION: ")<< msg << MESS_ABORT}
#define MESS_ABORT   std::endl; LocalTraceBufferPool::instance()->insert(ABORT_MESS, os.str().c_str());
#define MESS_BEGIN (   deb)    MESS_INIT(deb)<<__FILE__ <<" ["<<__LINE__<<"] : "
#define MESS_END   std::endl; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, os.str().c_str());
#define MESS_INIT (   deb)    std::ostringstream os; os<<deb

For each message to put in the trace, a specific ostingstream object is created and destroyed automatically at the end of the message macro.

The insert function of LocalTraceBufferPool class gets a buffer in a buffer pool (unique with the help of mutexes and semaphores) and copy the message in the buffer. This buffer is read later by a specific thread in charge of trace print. Order of trace entries is globally respected. Nevertheless, if there are several threads waiting for a free buffer to trace, the order of thread waken up is not garanteed (no fifo or priority rules in Linux Kernel)

#define MESSAGE (   msg)    {}
#define MESSAGE_ADD (   msg)    {std::ostringstream ss; ss << msg; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, ss.str().c_str());}
#define MESSAGE_BEGIN (   msg)    {std::ostringstream ss; ss <<__FILE__ <<" ["<<__LINE__<<"] : "<< msg; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, ss.str().c_str());}
#define MESSAGE_END (   msg)    {std::ostringstream ss; ss << msg << std::endl; LocalTraceBufferPool::instance()->insert(NORMAL_MESS, ss.str().c_str());}
#define PYSCRIPT (   msg)    {MESS_INIT("---PYSCRIPT--- ") << msg << MESS_END}
#define REPERE
#define SCRUTE (   var)    {}

Referenced by NamingServiceTest::_destroyDirectoryRecurs(), SALOME_NamingService::_Find(), SALOME_NamingService::_list_directory_recurs(), SALOME_ModuleCatalogImpl::Private::_parse_xml_file(), RegistryConnexion::add(), RegistryService::add(), SALOME_ContainerManager::BuildTempFileToLaunchRemoteContainer(), Engines_Parallel_Container_i::copyFile(), create_instance(), Engines_Container_i::createInstance(), Engines_MPIContainer_i::createMPIInstance(), SALOME_NamingService::Current_Directory(), Engines_Container_i::decInstanceCnt(), Engines_Parallel_Container_i::decInstanceCnt(), SALOME_ModuleCatalogImpl::Private::duplicate(), SALOME_ModuleCatalog_AcomponentImpl::duplicate(), Engines_Container_i::Engines_Container_i(), Engines_MPIContainer_i::Engines_MPIContainer_i(), fileRef_i::fileRef_i(), Engines_MPIContainer_i::finalize_removal(), Engines_Container_i::finalize_removal(), Engines_Container_i::find_component_instance(), Engines_Parallel_Container_i::find_component_instance(), SALOME_LifeCycleCORBA::FindOrLoad_Component(), SALOME_ModuleCatalogImpl::GetComponentList(), SALOME_ModuleCatalog_AcomponentImpl::GetDefaultService(), SALOME_ModuleCatalog_AcomponentImpl::GetInterface(), SALOME_FileTransferCORBA::getLocalFile(), SALOMEDS_StudyManager_i::GetOpenStudies(), SALOME_ModuleCatalog_AcomponentImpl::GetPathPrefix(), SALOME_ModuleCatalog_AcomponentImpl::GetService(), SALOME_ModuleCatalog_AcomponentImpl::GetServiceList(), RegistryService::hello(), Engines_MPIContainer_i::Lcreate_component_instance(), Engines_MPIContainer_i::Lload_component_Library(), Engines_Container_i::load_component_CppImplementation(), Engines_Container_i::load_component_PythonImplementation(), main(), fileTransfer_i::putBlock(), RegistryService::remove(), SALOME_NamingService::ResolveComponent(), SalomeTestComponentEngine_factory(), SALOME_ContainerManager::ShutdownContainers(), TestMPIComponentEngine_factory(), and Engines_Component_i::~Engines_Component_i().