# Full (CORBA) SALOME packages
##
IF(NOT SALOME_LIGHT_ONLY)
- SET(SUBDIRS_CORBA TOOLSGUI Session SalomeApp GuiHelpers TreeData)
+ SET(SUBDIRS_CORBA TOOLSGUI SalomeApp Session GuiHelpers TreeData)
ENDIF(NOT SALOME_LIGHT_ONLY)
SET(SUBDIRS
${PROJECT_SOURCE_DIR}/src/STD
${PROJECT_SOURCE_DIR}/src/SUIT
${PROJECT_SOURCE_DIR}/src/SVTK
- ${PROJECT_SOURCE_DIR}/src/Session
${PROJECT_SOURCE_DIR}/src/TOOLSGUI
${PROJECT_SOURCE_DIR}/src/VTKViewer
)
ENDIF()
IF(NOT SALOME_LIGHT_ONLY)
- LIST(APPEND _link_LIBRARIES SalomeSession)
+ LIST(APPEND _link_LIBRARIES SalomeIDLGUI)
+ LIST(APPEND _link_LIBRARIES ${KERNEL_SalomeContainer})
+ LIST(APPEND _link_LIBRARIES ${KERNEL_SalomeLifeCycleCORBA})
ENDIF()
# --- headers ---
\param theComponentName - synthetic "component data type" used to identify a given light module
\return Object reference to the CORBA engine
*/
-CORBA::Object_ptr SalomeApp_Engine_i::engineForComponent( const char* theComponentName,
+CORBA::Object_ptr SalomeApp_Engine_i::EngineForComponent( const char* theComponentName,
bool toCreate )
{
CORBA::Object_var anEngine;
bool toCreate )
{
std::string anIOR( "" );
- CORBA::Object_var anEngine = engineForComponent( theComponentName, toCreate );
+ CORBA::Object_var anEngine = EngineForComponent( theComponentName, toCreate );
if ( !CORBA::is_nil( anEngine ) )
{
CORBA::String_var objStr = orb()->object_to_string( anEngine.in() );
bool toCreate )
{
SalomeApp_Engine_i* aServant = 0;
- CORBA::Object_var anEngine = engineForComponent( theComponentName, toCreate );
+ CORBA::Object_var anEngine = EngineForComponent( theComponentName, toCreate );
if ( !CORBA::is_nil( anEngine ) )
{
PortableServer::Servant aServantBase = poa()->reference_to_servant( anEngine.in() );
static SalomeApp_Engine_i* GetInstance ( const char* theComponentName,
bool toCreate );
+ static CORBA::Object_ptr EngineForComponent( const char* theComponentName,
+ bool toCreate );
+
public:
// methods from SALOMEDS::Driver without implementation. Must be redefined because
// there is no default implementation of SALOMEDS::Driver interface
static CORBA::ORB_var orb();
static PortableServer::POA_var poa();
static SALOME_NamingService* namingService();
- static CORBA::Object_ptr engineForComponent( const char* theComponentName,
- bool toCreate );
-
private:
typedef std::map<int, ListOfFiles> MapOfListOfFiles;
MapOfListOfFiles myMap;
${OMNIORB_INCLUDE_DIR}
${PTHREAD_INCLUDE_DIR}
${PROJECT_BINARY_DIR}
+ ${PROJECT_BINARY_DIR}/idl
${PROJECT_SOURCE_DIR}/src/Qtx
${PROJECT_SOURCE_DIR}/src/SUIT
${PROJECT_SOURCE_DIR}/src/Event
${PROJECT_SOURCE_DIR}/src/Style
+ ${PROJECT_SOURCE_DIR}/src/SalomeApp
)
# additional preprocessor / compiler flags
${KERNEL_SalomeLauncher}
${KERNEL_Registry}
${KERNEL_SALOMEBasics}
- qtx suit Event SalomeStyle SalomeIDLGUI
+ qtx suit Event SalomeStyle SalomeApp SalomeIDLGUI
)
IF(ENABLE_TESTRECORDER)
LIST(APPEND _link_LIBRARIES ${TESTRECORDER_LIBS})
#include "SALOME_NamingService.hxx"
#include "SALOME_Event.h"
-
+#include "SalomeApp_Engine_i.h"
#include "SUIT_Session.h"
#include "SUIT_Desktop.h"
#include "SUIT_Study.h"
typedef Engines::EngineComponent_ptr TGetImpl(CORBA::ORB_ptr,
PortableServer::POA_ptr,
SALOME_NamingService*,QMutex*);
- OSD_SharedLibrary aSharedLibrary(const_cast<char*>(theLibraryName));
- if(aSharedLibrary.DlOpen(OSD_RTLD_LAZY))
- if(OSD_Function anOSDFun = aSharedLibrary.DlSymb("GetImpl"))
+ OSD_SharedLibrary aSharedLibrary(const_cast<char*>(theLibraryName));
+ if (aSharedLibrary.DlOpen(OSD_RTLD_LAZY)) {
+ if (OSD_Function anOSDFun = aSharedLibrary.DlSymb("GetImpl"))
return ((TGetImpl (*)) anOSDFun)(_orb,_poa,_NS,_GUIMutex);
+ }
+ CORBA::Object_var obj = SalomeApp_Engine_i::EngineForComponent(theLibraryName, true);
+ if (!CORBA::is_nil(obj)){
+ Engines::EngineComponent_var anEngine = Engines::EngineComponent::_narrow(obj);
+ return anEngine._retn();
+ }
return Engines::EngineComponent::_nil();
}