From a2a12c4a79396710ac62f71ba5eb6430c9307fb7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Aguerre?= Date: Tue, 28 Jul 2015 16:04:44 +0200 Subject: [PATCH] SIMAN removal --- CMakeLists.txt | 15 +- SalomeKERNELConfig.cmake.in | 28 +- bin/appliskel/.salome-completion.sh | 2 +- bin/launchConfigureParser.py | 54 +-- bin/runSalome.py | 55 --- idl/SALOMEDS.idl | 152 +++----- idl/SALOME_Component.idl | 142 +++----- .../cmake_files/FindSalomeSimanIO.cmake | 33 -- salome_adm/cmake_files/FindSimanIO.cmake | 54 --- salome_adm/unix/config_files/check_simanio.m4 | 96 ----- src/Container/CMakeLists.txt | 2 - src/Container/Component_i.cxx | 196 +++++----- src/Container/SALOME_ComponentPy.py | 42 +-- src/Container/SALOME_Component_i.hxx | 31 +- src/Container/SALOME_DataContainerPy.py | 96 ----- src/Container/SALOME_DataContainer_i.cxx | 133 ------- src/Container/SALOME_DataContainer_i.hxx | 74 ---- src/SALOMEDS/CMakeLists.txt | 10 +- src/SALOMEDS/SALOMEDS_SimanStudy.cxx | 186 ---------- src/SALOMEDS/SALOMEDS_SimanStudy.hxx | 70 ---- src/SALOMEDS/SALOMEDS_SimanStudy_i.cxx | 338 ------------------ src/SALOMEDS/SALOMEDS_SimanStudy_i.hxx | 127 ------- src/SALOMEDS/SALOMEDS_StudyManager.cxx | 66 ++-- src/SALOMEDS/SALOMEDS_StudyManager.hxx | 7 +- src/SALOMEDS/SALOMEDS_StudyManager_i.cxx | 17 +- src/SALOMEDS/SALOMEDS_StudyManager_i.hxx | 36 +- src/SALOMEDSClient/SALOMEDSClient.hxx | 1 - .../SALOMEDSClient_SimanStudy.hxx | 55 --- .../SALOMEDSClient_StudyManager.hxx | 4 +- 29 files changed, 263 insertions(+), 1859 deletions(-) delete mode 100644 salome_adm/cmake_files/FindSalomeSimanIO.cmake delete mode 100644 salome_adm/cmake_files/FindSimanIO.cmake delete mode 100644 salome_adm/unix/config_files/check_simanio.m4 delete mode 100755 src/Container/SALOME_DataContainerPy.py delete mode 100644 src/Container/SALOME_DataContainer_i.cxx delete mode 100644 src/Container/SALOME_DataContainer_i.hxx delete mode 100644 src/SALOMEDS/SALOMEDS_SimanStudy.cxx delete mode 100644 src/SALOMEDS/SALOMEDS_SimanStudy.hxx delete mode 100644 src/SALOMEDS/SALOMEDS_SimanStudy_i.cxx delete mode 100644 src/SALOMEDS/SALOMEDS_SimanStudy_i.hxx delete mode 100644 src/SALOMEDSClient/SALOMEDSClient_SimanStudy.hxx diff --git a/CMakeLists.txt b/CMakeLists.txt index 403a93299..04bf3d530 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,7 +58,6 @@ OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON) # Advanced: OPTION(SALOME_LIGHT_ONLY "Build SALOME Light only (no CORBA)" OFF) OPTION(SALOME_USE_LIBBATCH "Use LibBatch in KERNEL" OFF) -OPTION(SALOME_USE_SIMAN "Add SIMAN support" OFF) CMAKE_DEPENDENT_OPTION(SALOME_PACO_PARALLEL "Build with PACO (implies SALOME_USE_MPI)" OFF "NOT SALOME_LIGHT_ONLY" OFF) OPTION(SALOME_USE_PORTMANAGER "Add PortManager support" ON) @@ -66,7 +65,7 @@ CMAKE_DEPENDENT_OPTION(SALOME_USE_MPI "Use MPI containers" OFF "NOT SALOME_PACO_PARALLEL" ON) CMAKE_DEPENDENT_OPTION(SALOME_USE_MPI "Use MPI containers" ${SALOME_USE_MPI} "NOT SALOME_LIGHT_ONLY" OFF) -MARK_AS_ADVANCED(SALOME_LIGHT_ONLY SALOME_USE_LIBBATCH SALOME_USE_SIMAN SALOME_PACO_PARALLEL SALOME_USE_PORTMANAGER) +MARK_AS_ADVANCED(SALOME_LIGHT_ONLY SALOME_USE_LIBBATCH SALOME_PACO_PARALLEL SALOME_USE_PORTMANAGER) # Required prerequisites # Find "big" prerequisites first - they reference themselves many others @@ -90,11 +89,6 @@ FIND_PACKAGE(SalomeBoost REQUIRED) # Optional prerequisites # ====================== -IF(SALOME_USE_SIMAN) - FIND_PACKAGE(SalomeSimanIO) - SALOME_LOG_OPTIONAL_PACKAGE(SimanIO SALOME_USE_SIMAN) - ADD_DEFINITIONS(-DWITH_SIMANIO) -ENDIF() IF(NOT SALOME_LIGHT_ONLY) FIND_PACKAGE(SalomeOmniORB REQUIRED) FIND_PACKAGE(SalomeOmniORBPy REQUIRED) @@ -279,13 +273,12 @@ SET(MPI_ROOT_DIR "${MPI_ROOT_DIR}") SET(OMNIORB_ROOT_DIR "${OMNIORB_ROOT_DIR}") SET(OMNIORBPY_ROOT_DIR "${OMNIORBPY_ROOT_DIR}") SET(LIBBATCH_ROOT_DIR "${LIBBATCH_ROOT_DIR}") -SET(SIMANIO_ROOT_DIR "${SIMANIO_ROOT_DIR}") SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") # Build variables that will be expanded when configuring SalomeConfig.cmake: SALOME_CONFIGURE_PREPARE(CppUnit Graphviz Doxygen Sphinx MPI omniORB LibBatch - PThread Boost HDF5 libXml2 Python SimanIO) + PThread Boost HDF5 libXml2 Python) CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @@ -293,7 +286,7 @@ CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE CMAKE_INSTALL_PREFIX CPPUNIT_ROOT_DIR GRAPHVIZ_ROOT_DIR DOXYGEN_ROOT_DIR SPHINX_ROOT_DIR MPI_ROOT_DIR OMNIORB_ROOT_DIR OMNIORBPY_ROOT_DIR LIBBATCH_ROOT_DIR - SIMANIO_ROOT_DIR PTHREAD_ROOT_DIR BOOST_ROOT_DIR HDF5_ROOT_DIR LIBXML2_ROOT_DIR + PTHREAD_ROOT_DIR BOOST_ROOT_DIR HDF5_ROOT_DIR LIBXML2_ROOT_DIR PYTHON_ROOT_DIR SWIG_ROOT_DIR) # - in the install tree (VSR 16/08/2013: TEMPORARILY COMMENT THIS - TO REMOVE?): @@ -306,7 +299,7 @@ CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in # PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE CMAKE_INSTALL_PREFIX # CPPUNIT_ROOT_DIR GRAPHVIZ_ROOT_DIR DOXYGEN_ROOT_DIR # SPHINX_ROOT_DIR MPI_ROOT_DIR OMNIORB_ROOT_DIR OMNIORBPY_ROOT_DIR LIBBATCH_ROOT_DIR -# SIMANIO_ROOT_DIR PTHREAD_ROOT_DIR BOOST_ROOT_DIR HDF5_ROOT_DIR LIBXML2_ROOT_DIR +# PTHREAD_ROOT_DIR BOOST_ROOT_DIR HDF5_ROOT_DIR LIBXML2_ROOT_DIR # PYTHON_ROOT_DIR SWIG_ROOT_DIR) WRITE_BASIC_PACKAGE_VERSION_FILE(${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake diff --git a/SalomeKERNELConfig.cmake.in b/SalomeKERNELConfig.cmake.in index a406dacbe..df58bc129 100644 --- a/SalomeKERNELConfig.cmake.in +++ b/SalomeKERNELConfig.cmake.in @@ -1,5 +1,5 @@ # - Config file for the @PROJECT_NAME@ package -# It defines the following variables. +# It defines the following variables. # Specific to the pacakge @PROJECT_NAME@ itself: # @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file # @@ -35,12 +35,12 @@ ### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE: @PACKAGE_INIT@ -# Load the dependencies for the libraries of @PROJECT_NAME@ -# (contains definitions for IMPORTED targets). This is only +# Load the dependencies for the libraries of @PROJECT_NAME@ +# (contains definitions for IMPORTED targets). This is only # imported if we are not built as a subproject (in this case targets are already there) IF(NOT TARGET SALOMEBasics AND NOT @PROJECT_NAME@_BINARY_DIR) INCLUDE("@PACKAGE_SALOME_INSTALL_CMAKE@/@PROJECT_NAME@Targets.cmake") -ENDIF() +ENDIF() # Package root dir: SET_AND_CHECK(KERNEL_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") @@ -67,11 +67,6 @@ SET(SALOME_KERNEL_BUILD_TESTS @SALOME_BUILD_TESTS@) SET(SALOME_KERNEL_LIGHT_ONLY @SALOME_LIGHT_ONLY@) SET(SALOME_USE_LIBBATCH @SALOME_USE_LIBBATCH@) -SET(SALOME_USE_SIMAN @SALOME_USE_SIMAN@) -IF(SALOME_USE_SIMAN) - LIST(APPEND KERNEL_DEFINITIONS "-DWITH_SIMANIO") -ENDIF() - SET(SALOME_USE_PORTMANAGER @SALOME_USE_PORTMANAGER@) IF(SALOME_USE_PORTMANAGER) LIST(APPEND KERNEL_DEFINITIONS "-DWITH_PORTMANAGER") @@ -96,9 +91,6 @@ ENDIF() IF(SALOME_USE_LIBBATCH) SET_AND_CHECK(LIBBATCH_ROOT_DIR_EXP "@PACKAGE_LIBBATCH_ROOT_DIR@") ENDIF() -IF(SALOME_USE_SIMAN) - SET_AND_CHECK(SIMANIO_ROOT_DIR_EXP "@PACKAGE_SIMANIO_ROOT_DIR@") -ENDIF() SET_AND_CHECK(PTHREAD_ROOT_DIR_EXP "@PACKAGE_PTHREAD_ROOT_DIR@") SET_AND_CHECK(HDF5_ROOT_DIR_EXP "@PACKAGE_HDF5_ROOT_DIR@") @@ -106,7 +98,7 @@ SET_AND_CHECK(LIBXML2_ROOT_DIR_EXP "@PACKAGE_LIBXML2_ROOT_DIR@") SET_AND_CHECK(PYTHON_ROOT_DIR_EXP "@PACKAGE_PYTHON_ROOT_DIR@") SET_AND_CHECK(SWIG_ROOT_DIR_EXP "@PACKAGE_SWIG_ROOT_DIR@") -# For all prerequisites, load the corresponding targets if the package was used +# For all prerequisites, load the corresponding targets if the package was used # in CONFIG mode. This ensures dependent projects link correctly # without having to set LD_LIBRARY_PATH: SET(_PREREQ @_PREREQ_LIST@) @@ -116,20 +108,20 @@ LIST(LENGTH _PREREQ_CONFIG_DIR _list_len) IF(NOT _list_len EQUAL 0) # Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ... MATH(EXPR _range "${_list_len}-1") - FOREACH(_p RANGE ${_range}) + FOREACH(_p RANGE ${_range}) LIST(GET _PREREQ ${_p} _pkg ) LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir) LIST(GET _PREREQ_COMPONENTS ${_p} _pkg_compo) MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...") IF(NOT _pkg_compo) - FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE - PATHS "${_pkg_dir}" + FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE + PATHS "${_pkg_dir}" NO_DEFAULT_PATH) ELSE() STRING(REPLACE "," ";" _compo_lst "${_pkg_compo}") MESSAGE(STATUS "===> (components: ${_pkg_compo})") FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE - COMPONENTS ${_compo_lst} + COMPONENTS ${_compo_lst} PATHS "${_pkg_dir}" NO_DEFAULT_PATH) ENDIF() @@ -145,7 +137,7 @@ SET(SALOME_INSTALL_SCRIPT_SCRIPTS "@SALOME_INSTALL_SCRIPT_SCRIPTS@") SET(SALOME_INSTALL_SCRIPT_DATA "@SALOME_INSTALL_SCRIPT_DATA@") SET(SALOME_INSTALL_SCRIPT_PYTHON "@SALOME_INSTALL_SCRIPT_PYTHON@") SET(SALOME_INSTALL_APPLISKEL_SCRIPTS "@SALOME_INSTALL_APPLISKEL_SCRIPTS@") -SET(SALOME_INSTALL_APPLISKEL_PYTHON "@SALOME_INSTALL_APPLISKEL_PYTHON@") +SET(SALOME_INSTALL_APPLISKEL_PYTHON "@SALOME_INSTALL_APPLISKEL_PYTHON@") SET(SALOME_INSTALL_CMAKE "@SALOME_INSTALL_CMAKE@") SET(SALOME_INSTALL_CMAKE_LOCAL "@SALOME_INSTALL_CMAKE_LOCAL@") SET(SALOME_INSTALL_PYTHON "@SALOME_INSTALL_PYTHON@") diff --git a/bin/appliskel/.salome-completion.sh b/bin/appliskel/.salome-completion.sh index 18885642d..5288d910f 100644 --- a/bin/appliskel/.salome-completion.sh +++ b/bin/appliskel/.salome-completion.sh @@ -71,7 +71,7 @@ _salome() if [[ "$cur" == -* ]]; then case $command in start) - options='-t --terminal -g --gui -d --show-desktop= -o --hide-desktop -b --batch -l --logger -f --log-file= -r --resources= -x --xterm -m --modules= -e --embedded= -s --standalone= -p --portkill -k --killall -i --interp= -z --splash= -c --catch-exceptions= --print-port --nosave-config --pinter --ns-port-log= --test= --play= --gdb-session --ddd-session --valgrind-session -w --shutdown-servers= --foreground= --wake-up-session --server-launch-mode= --port= --siman --siman-study= --siman-scenario= --siman-user= --version -h --help --with-mpi-module= --config= --extra_env=' + options='-t --terminal -g --gui -d --show-desktop= -o --hide-desktop -b --batch -l --logger -f --log-file= -r --resources= -x --xterm -m --modules= -e --embedded= -s --standalone= -p --portkill -k --killall -i --interp= -z --splash= -c --catch-exceptions= --print-port --nosave-config --pinter --ns-port-log= --test= --play= --gdb-session --ddd-session --valgrind-session -w --shutdown-servers= --foreground= --wake-up-session --server-launch-mode= --port= --version -h --help --with-mpi-module= --config= --extra_env=' ;; shell) options='-h --help -p --port= -m --machine= -d --directory= -u --user= --with-mpi-module= --config= --extra_env=' diff --git a/bin/launchConfigureParser.py b/bin/launchConfigureParser.py index 82ab8e651..2d34b48e2 100755 --- a/bin/launchConfigureParser.py +++ b/bin/launchConfigureParser.py @@ -66,10 +66,6 @@ valgrind_session_nam = "valgrind_session" shutdown_servers_nam = "shutdown_servers" foreground_nam = "foreground" wake_up_session_nam = "wake_up_session" -siman_nam = "siman" -siman_study_nam = "siman_study" -siman_scenario_nam = "siman_scenario" -siman_user_nam = "siman_user" # values in XML configuration file giving specific module parameters ( section) # which are stored in opts with key _ (eg SMESH_plugins) @@ -312,7 +308,7 @@ class xml_parser: return string.atoi(strloc) return strloc pass - + def strValue( self, str ): strloc = str try: @@ -797,40 +793,6 @@ def CreateOptionParser (theAdditionalOptions=None): dest="use_port", help=help_str) - # SIMAN launch mode - help_str = "Special mode for interacting with SIMAN." - o_siman = optparse.Option("--siman", - action="store_true", - dest="siman", - help=help_str) - - # SIMAN study - help_str = "SIMAN study identifier." - o_siman_study = optparse.Option("--siman-study", - metavar="", - type="string", - action="store", - dest="siman_study", - help=help_str) - - # SIMAN scenario - help_str = "SIMAN scenario identifier." - o_siman_scenario = optparse.Option("--siman-scenario", - metavar="", - type="string", - action="store", - dest="siman_scenario", - help=help_str) - - # SIMAN user - help_str = "SIMAN user identifier." - o_siman_user = optparse.Option("--siman-user", - metavar="", - type="string", - action="store", - dest="siman_user", - help=help_str) - # All options opt_list = [o_t,o_g, # GUI/Terminal o_d,o_o, # Desktop @@ -860,10 +822,6 @@ def CreateOptionParser (theAdditionalOptions=None): o_wake_up, o_slm, # Server launch mode o_port, # Use port - o_siman, # Siman launch mode - o_siman_study, # Siman study - o_siman_scenario,# Siman scenario - o_siman_user, # Siman user ] #std_options = ["gui", "desktop", "log_file", "resources", @@ -1179,16 +1137,6 @@ def get_env(theAdditionalOptions=None, appname=salomeappname, cfgname=salomecfgn if cmd_opts.wake_up_session is not None: args[wake_up_session_nam] = cmd_opts.wake_up_session - # siman options - if cmd_opts.siman is not None: - args[siman_nam] = cmd_opts.siman - if cmd_opts.siman_study is not None: - args[siman_study_nam] = cmd_opts.siman_study - if cmd_opts.siman_scenario is not None: - args[siman_scenario_nam] = cmd_opts.siman_scenario - if cmd_opts.siman_user is not None: - args[siman_user_nam] = cmd_opts.siman_user - #################################################### # Add values to args for add_opt in theAdditionalOptions: diff --git a/bin/runSalome.py b/bin/runSalome.py index 6439d4e54..29b915751 100755 --- a/bin/runSalome.py +++ b/bin/runSalome.py @@ -140,29 +140,6 @@ def get_cata_path(list_modules,modules_root_dir): return cata_path -_siman_name = None -def simanStudyName(args): - global _siman_name - if _siman_name is None: - # siman session paramenters and checkout processing - _siman_name = "" - if 'siman' in args: - siman_data = [] - for param in [ 'study', 'scenario', 'user']: - siman_param = "siman_%s"%param - if siman_param in args: - siman_data.append(args[siman_param]) - else: - print "SIMAN %s must be defined using parameter --siman-%s=XXX" % (siman_param, siman_param) - pass - pass - if len(siman_data) == 3: - _siman_name = "_".join(siman_data) - pass - pass - pass - return _siman_name - class CatalogServer(Server): def __init__(self,args): self.args=args @@ -281,9 +258,6 @@ class SessionServer(Server): if self.args['study_hdf'] is not None: self.SCMD2+=['--study-hdf=%s'%self.args['study_hdf']] pass - if simanStudyName(self.args): - self.SCMD2+=['--siman-study=%s'%simanStudyName(self.args)] - pass pass if self.args.has_key('pyscript') and len(self.args['pyscript']) > 0: msg = json.dumps(self.args['pyscript'], cls=ScriptAndArgsObjectEncoder) @@ -484,14 +458,6 @@ def startSalome(args, modules_list, modules_root_dir): myServer.run() clt.waitLogger("Logger") - # set siman python path before the session server launching to import scripts inside python console - if simanStudyName(args): - # MPV: use os.environ here because session server is launched in separated process and sys.path is missed in this case - from salome_utils import getTmpDir - ppath = os.path.join(getTmpDir, "SimanSalome", args['siman_study'], - args['siman_scenario'], args['siman_user']) - os.environ["PYTHONPATH"] = ppath + os.pathsep + os.environ["PYTHONPATH"] - # Launch Session Server (to show splash ASAP) # @@ -640,27 +606,6 @@ def startSalome(args, modules_list, modules_root_dir): except ImportError: pass - # siman session paramenters and checkout processing - if simanStudyName(args): - print '**********************************************' - print "Siman study name= '" + simanStudyName(args) + "'" - import SALOMEDS - obj = clt.Resolve('myStudyManager') - myStudyManager = obj._narrow(SALOMEDS.StudyManager) - aNewStudy = myStudyManager.NewStudy(simanStudyName(args)) - aSimS = myStudyManager.GetSimanStudy() - aSimS._set_StudyId(args['siman_study']) - aSimS._set_ScenarioId(args['siman_scenario']) - aSimS._set_UserId(args['siman_user']) - aSimS.CheckOut(aNewStudy) - # if session server is enabled, activate the created study - if args["gui"]: - print "Activate the SIMAN study in the SALOME GUI" - obj = clt.Resolve('/Kernel/Session') - mySession = obj._narrow(SALOME.Session) - mySession.emitMessage("simanCheckoutDone " + simanStudyName(args)) - print '**********************************************' - return clt # ----------------------------------------------------------------------------- diff --git a/idl/SALOMEDS.idl b/idl/SALOMEDS.idl index 8ddffd4d3..2195c19c2 100644 --- a/idl/SALOMEDS.idl +++ b/idl/SALOMEDS.idl @@ -139,7 +139,7 @@ during each working session. exception StudyObjectAlreadyExists {}; //! Invalid name of the %study exception exception StudyNameError {}; -//! Invalid study comment +//! Invalid study comment exception StudyCommentError {}; /*! \brief The name of the %Study @@ -227,7 +227,7 @@ during each working session. */ void SetContext(in string thePath) raises (StudyInvalidReference, StudyInvalidContext); /*! \brief Get the context of the %Study. - + See \ref example23 for an example of this method usage in batchmode of %SALOME application. */ string GetContext() raises (StudyInvalidReference, StudyInvalidContext); @@ -392,7 +392,7 @@ during each working session. long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal); -/*! \brief Mark this Study as being locked by the given locker. +/*! \brief Mark this Study as being locked by the given locker. The lock status can be checked by method IsStudyLocked \param theLockerID identifies a locker of the study can be for ex. IOR of the engine that locks the study. @@ -401,22 +401,22 @@ during each working session. /*! \brief Indicate if the Study is locked - Returns True if the Study was marked locked. + Returns True if the Study was marked locked. */ boolean IsStudyLocked() raises(StudyInvalidReference); -/*! \brief Mark this Study as being unlocked by the given locker. +/*! \brief Mark this Study as being unlocked by the given locker. The lock status can be checked by method IsStudyLocked \param theLockerID identifies a locker of the study can be for ex. IOR of the engine that unlocks the study. */ void UnLockStudy(in string theLockerID) raises(StudyInvalidReference); -/*! \brief Get the list of IDs of the Study's lockers. +/*! \brief Get the list of IDs of the Study's lockers. */ ListOfStrings GetLockerID() raises(StudyInvalidReference); -/*! \brief Create real variable with Name theVarName and value theValue +/*! \brief Create real variable with Name theVarName and value theValue (or set if variable value into theValue already exists) \param theVarName is a name of the variable @@ -424,14 +424,14 @@ during each working session. */ void SetReal( in string theVarName, in double theValue ) raises(StudyInvalidReference); -/*! \brief Create integer variable with Name theVarName and value theValue +/*! \brief Create integer variable with Name theVarName and value theValue (or set if variable value into theValue already exists) \param theVarName is a name of the variable \param theVarName is a value of the variable. */ void SetInteger( in string theVarName, in long theValue ) raises(StudyInvalidReference); -/*! \brief Create boolean variable with Name theVarName and value theValue +/*! \brief Create boolean variable with Name theVarName and value theValue (or set if variable value into theValue already exists) \param theVarName is a name of the variable @@ -439,7 +439,7 @@ during each working session. */ void SetBoolean( in string theVarName, in boolean theValue ) raises(StudyInvalidReference); -/*! \brief Create string variable with Name theVarName and value theValue +/*! \brief Create string variable with Name theVarName and value theValue (or set if variable value into theValue already exists) \param theVarName is a name of the variable @@ -474,7 +474,7 @@ during each working session. \param theVarName is a name of the variable. */ string GetString( in string theVarName ) raises(StudyInvalidReference); - + /*! \brief Indicate if a variable is real @@ -546,7 +546,7 @@ during each working session. /*! \brief Parse variables used for object creation - \param string with variables, separated by special symbol. + \param string with variables, separated by special symbol. \return Variables list. */ ListOfListOfStrings ParseVariables( in string theVars ) raises(StudyInvalidReference); @@ -558,78 +558,15 @@ during each working session. \param modify when \c true, observer receives any object's modification events; otherwise observer receives object's creation events only */ - void attach(in SALOMEDS::Observer theObserver, in boolean modify); + void attach(in SALOMEDS::Observer theObserver, in boolean modify); /*! Detach an observer from the Study \param theObserver observer to be detached */ - void detach(in SALOMEDS::Observer theObserver); + void detach(in SALOMEDS::Observer theObserver); }; - //=========================================================================== - /*! \brief %SimanStudy Interface - - The Siman (simulation management) study is an interface extension to the %Study - with functions for working with SIMAN server. Is allows to get data from SIMAN (check-out operation) - and to store it back (check-in operation). - This interface is correctly working if SALOME is compiled with SimanIO library, launched with siman - option and connection to SIMAN server is established and alive. Only one study per application, - checked out from the SIMAN is SimanStudy. For other studies all functionality is unaccessible. -*/ - - interface SimanStudy - { - -//! No connection with SIMAN server - exception SimanStudyNoConnection {}; -//! There is no SimanStudy with: study with checked out data. - exception SimanStudyNotExists {}; - -/*! \brief The ID of the study in SIMAN server - - This is equivalent to the methods setStudyId() & getStudyId() -*/ - attribute string StudyId; - -/*! \brief The ID of the scenario in SIMAN server - - This is equivalent to the methods setScenarioId() & getScenarioId() -*/ - attribute string ScenarioId; -/*! \brief The ID of the user in SIMAN server - - This is equivalent to the methods setUserId() & getUserId() -*/ - attribute string UserId; - -/*! \brief Get data from SIMAN and put it to the given study - - This method is called for just created study to make it referenced - by this Siman study. Also it fills this study by the checked out - data from SIMAN server. - Warning: StudyID, ScenarioID and User Id must be set before calling of this method! - - \param theTarget referenced study for checking out -*/ - void CheckOut(in Study theTarget); - -/*! \brief Get data from the source study and store in SIMAN - - It works only with already checked out study. - \param theModuleName name of the module the check in must be perfrormed for. If empty, check in is performed for all modules. -*/ - void CheckIn(in string theModuleName); - -/*! \brief Returns the %Study with checked out data - - If study is null, there is no such study in this application instance, or Salome was - launched without siman option. -*/ - Study getReferencedStudy(); - -}; - //========================================================================== /*! \brief %Study Builder Interface @@ -664,7 +601,7 @@ during each working session. Defines the instance to the %SComponent. */ void DefineComponentInstance (in SComponent aComponent,in Object ComponentIOR) raises(LockProtection); - + /*! \brief Deletion of a %SComponent Removes a %SComponent. @@ -732,7 +669,7 @@ during each working session. */ GenericAttribute FindOrCreateAttribute(in SObject anObject, - in string aTypeOfAttribute) raises(LockProtection); + in string aTypeOfAttribute) raises(LockProtection); /*! \brief Looking for an attribute assigned to a %SObject @@ -744,8 +681,8 @@ during each working session. */ boolean FindAttribute(in SObject anObject, - out GenericAttribute anAttribute, - in string aTypeOfAttribute); + out GenericAttribute anAttribute, + in string aTypeOfAttribute); /*! \brief Deleting the attribute assigned to the %SObject Removes the attribute of a specific type which is assigned to the object. @@ -755,7 +692,7 @@ during each working session. See \ref example17 for an example of this method usage in batchmode of %SALOME application. */ void RemoveAttribute(in SObject anObject, - in string aTypeOfAttribute) raises(LockProtection); + in string aTypeOfAttribute) raises(LockProtection); /*! Adds a reference between %anObject and %theReferencedObject. \param anObject The %SObject which will get a reference @@ -763,7 +700,7 @@ during each working session. */ void Addreference(in SObject anObject, - in SObject theReferencedObject) ; + in SObject theReferencedObject) ; /*! Removes a reference from %anObject to another object. @@ -802,7 +739,7 @@ Searches for a definite %SObject with a definite GUID and returns True if it fin /*! \brief Creation of a new command Creates a new command which can contain several different actions. - + See \ref example3 for an example of this method usage in batchmode of %SALOME application. */ @@ -824,7 +761,7 @@ Searches for a definite %SObject with a definite GUID and returns True if it fin /*! \brief Cancelation of the command Cancels all actions declared within the command. - + See \ref example17 for an example of this method usage in batchmode of %SALOME application. */ void AbortCommand(); // command management @@ -855,7 +792,7 @@ Searches for a definite %SObject with a definite GUID and returns True if it fin void Redo() raises (LockProtection); /*! Returns True if at this moment there are any actions which can be canceled. - + See \ref example16 for an example of this method usage in batchmode of %SALOME application. */ @@ -919,7 +856,7 @@ Searches for a definite %SObject with a definite GUID and returns True if it fin /*! Shutdown the StudyManager process. -*/ +*/ oneway void ShutdownWithExit(); /*! \brief Creation of a new study @@ -974,8 +911,8 @@ Searches for a definite %SObject with a definite GUID and returns True if it fin See \ref example1 for an example of this method usage in batchmode of %SALOME application. */ boolean SaveAs(in URL aUrl, // if the file already exists - in Study aStudy, - in boolean theMultiFile); // overwrite (as option) + in Study aStudy, + in boolean theMultiFile); // overwrite (as option) /*! \brief Saving the study in a specified ASCII file (or files). Saves the study in a specified ASCII file (or files). @@ -985,8 +922,8 @@ Searches for a definite %SObject with a definite GUID and returns True if it fin \param theMultiFile If this parameter is True the study will be saved in several files. */ boolean SaveAsASCII(in URL aUrl, // if the file already exists - in Study aStudy, - in boolean theMultiFile); // overwrite (as option) + in Study aStudy, + in boolean theMultiFile); // overwrite (as option) /*! \brief List of open studies. @@ -1044,11 +981,11 @@ Gets the list of open studies */ string ConvertObjectToIOR(in Object theObject); /*! \brief Object conversion. - + Converts IOR into an object. \return An object */ - Object ConvertIORToObject(in string theIOR); + Object ConvertIORToObject(in string theIOR); /*! Private method, returns an implementation of this StudyManager. @@ -1056,14 +993,7 @@ Gets the list of open studies \param thePID is a process ID of the caller \param isLocal is set True if the StudyManager is launched locally with the caller */ - long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal); - -/*! \brief Returns the siman study based on the given study. - - Creates a new Siman study, or returns just a previously created. - \return Siman study, or none if it is not siman mode -*/ - SimanStudy GetSimanStudy(); + long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal); }; @@ -1074,7 +1004,7 @@ Gets the list of open studies The objects in the %study are built by the %StudyBuilder. The %SObject interface provides methods for elementary inquiries, like getting an object %ID or its attribuites. \note - +
Tag of an item in %SALOME application is an integer value uniquely defining an item in the tree-type data structure.
ID of an item is a description of item's position in the tree-type data structure. @@ -1135,7 +1065,7 @@ Gets the list of open studies See \ref example1 for an example of this method usage in batchmode of %SALOME application. */ boolean FindAttribute(out GenericAttribute anAttribute, - in string aTypeOfAttribute); + in string aTypeOfAttribute); /*! Looks for a %SObject which the given %SObject refers to. \return The object which the given %SObject refers to as well as True if it finds @@ -1222,8 +1152,8 @@ Gets the list of open studies string Type(); //! Get the class type - string GetClassType(); - + string GetClassType(); + //! Get SObject SObject GetSObject(); @@ -1536,9 +1466,9 @@ study is saved these references are transformed into persintent IDs. */ string IORToLocalPersistentID (in SObject theSObject, - in string IORString, - in boolean isMultiFile, - in boolean isASCII); + in string IORString, + in boolean isMultiFile, + in boolean isASCII); /*! Transforms PersistentID into IOR of the object. It is called for each object in the %study. @@ -1555,9 +1485,9 @@ study is open, these references are transformed into persintent IORs. */ string LocalPersistentIDToIOR (in SObject theSObject, - in string aLocalPersistentID, - in boolean isMultiFile, - in boolean isASCII) + in string aLocalPersistentID, + in boolean isMultiFile, + in boolean isASCII) raises (SALOME::SALOME_Exception); // Publishing in the study diff --git a/idl/SALOME_Component.idl b/idl/SALOME_Component.idl index 57063c9dc..9ba53cd97 100644 --- a/idl/SALOME_Component.idl +++ b/idl/SALOME_Component.idl @@ -40,12 +40,12 @@ component in %SALOME application. */ module Engines { - /*! + /*! A byte stream which is used for binary data transfer between different components */ - typedef sequence TMPFile; - + typedef sequence TMPFile; + //! General Key Value Structure to set or get properties, for component struct KeyValuePair { @@ -53,24 +53,19 @@ module Engines any value; }; - //! Structure data type to hold reference on data + //! Structure data type to hold reference on data struct dataref { string ref; }; typedef sequence FieldsDict; - typedef sequence ListOfOptions; - typedef sequence ListOfIdentifiers; interface EngineComponent ; interface fileRef ; interface fileTransfer ; interface Salome_file; - interface DataContainer; - typedef sequence ListOfData; - /*! \brief Interface of the %Container. This interface defines the process of loading and registration of new components in %SALOME application @@ -95,7 +90,7 @@ module Engines \param componentName Name of the component which will be registered in Registry and Name Service, (instance number suffix added to the registered name) - \param studyId 0 if instance is not associated to a study, + \param studyId 0 if instance is not associated to a study, >0 otherwise (== study id) \return a loaded component */ @@ -105,25 +100,25 @@ module Engines //! Create a new Python servant instance of a generic service. /*! This simply loads the service in the current container by importing the - corresponding Python module. - Warning: no internal registration is done, so it is up to the caller to - manage the various instanciation. + corresponding Python module. + Warning: no internal registration is done, so it is up to the caller to + manage the various instanciation. \param serviceName Name of the service - + >0 otherwise (== study id) \param reason in case of error (return void string) a string explaining the error \return the IOR of the loaded service. */ string create_python_service_instance(in string serviceName, out string reason); - + //! Create a new servant instance of a component with environment variables specified. /*! Component library must be loaded. \param componentName Name of the component which will be registered in Registry and Name Service, (instance number suffix added to the registered name) - \param studyId 0 if instance is not associated to a study, + \param studyId 0 if instance is not associated to a study, >0 otherwise (== study id) \param env a dict of env variables \param reason in case of error (return nil) a string explaining the error @@ -136,7 +131,7 @@ module Engines /*! \param registeredName Name of the component in Registry or Name Service, without instance suffix number - \param studyId 0 if instance is not associated to a study, + \param studyId 0 if instance is not associated to a study, >0 otherwise (== study id) \return the first instance found with same studyId */ @@ -162,7 +157,7 @@ module Engines */ void remove_impl(in EngineComponent component_i); - //! Unload component libraries from the container. + //! Unload component libraries from the container. void finalize_removal() ; //! Determines whether the server has been loaded or not. @@ -186,7 +181,7 @@ module Engines //! Returns the PID of the container long getPID(); - //! Kill the container + //! Kill the container /*! Returns True if the %container has been killed. Kept for Superv compilation but can't work, unless oneway... @@ -198,7 +193,7 @@ module Engines /*! returns a fileRef object if origFileName exists and is readable else returns null object. Only one fileRef is created for a given - file name, so, several calls with the same file name returns the + file name, so, several calls with the same file name returns the same object. */ fileRef createFileRef(in string origFileName); @@ -206,7 +201,7 @@ module Engines //! Create a Salome_file /*! returns a Salome_file object if origFileName exists and is readable - else returns null object. + else returns null object. \param origFileName name of the file to be managed (can contain the path). @@ -251,32 +246,6 @@ module Engines PyScriptNode getDefaultPyScriptNode(); }; - /*! \brief Interface to pass data files from the client side to the SALOME Container. - Passes data from client side to the SALOME container (where component engine is running) - size via the CORBA bus as a stream of bytes. - */ - - interface DataContainer - { - //! This operation returns the stream with the data file content. - TMPFile get(); - - //! Returns the name of the document corresponding to this data container. - string name(); - - //! Returns the identifier of the document corresponding to this data container. - string identifier(); - - //! Returns the extension (type) of the document corresponding to this data container. - //! It is taked from the SIMAN URL. - string extension(); - - //! Defines the extension. It is required is extension of the file is not - //! matched with a read extension: archived file, for example. - void setExtension(in string extension); - }; - - /*! \brief Interface of the %component. This interface is used for interaction between the %container and the %component and between the components inside the container. @@ -314,10 +283,10 @@ module Engines //! Set component instance properties /*! - Gives a sequence of (key=string,value=any) to the component. + Gives a sequence of (key=string,value=any) to the component. Base class component stores the sequence in a map. The map is cleared before. - This map is for use by derived classes. + This map is for use by derived classes. */ void setProperties(in FieldsDict dico); @@ -377,21 +346,21 @@ module Engines //! Get the cpu used /*! - Returns the Cpu used + Returns the Cpu used */ long CpuUsed_impl() ; - + //! Get a python dump /*! Returns a python script, which is being played back reproduces the data model of component - */ + */ TMPFile DumpPython(in Object theStudy, in boolean isPublished, in boolean isMultiFile, out boolean isValidScript); - + //! Returns a CORBA Ref of a input Salome_file managed by a service. /*! @@ -400,21 +369,21 @@ module Engines \return CORBA Ref of the requested file. - \exception contains informations of what if the component cannot + \exception contains informations of what if the component cannot sends the file's reference. */ - Engines::Salome_file getInputFileToService(in string service_name, + Engines::Salome_file getInputFileToService(in string service_name, in string Salome_file_name) raises(SALOME::SALOME_Exception); - //! Check service input files (transfer them if needed) + //! Check service input files (transfer them if needed) /*! This method is used before the activation of the service. It calls - recvFiles() on all the input Salome_file files of the service. - + recvFiles() on all the input Salome_file files of the service. + Before each recvFiles(), it uses the callback method named configureSalome_file. This method allows the user to configure the files managed by the Salome_file. - By default, there is no files managed when a Salome_file is created, + By default, there is no files managed when a Salome_file is created, but the supervisor set some files managed by the Salome_file from the information contained into the schema file. @@ -446,21 +415,21 @@ module Engines \return CORBA Ref of the requested file. - \exception contains informations of what if the component cannot + \exception contains informations of what if the component cannot sends the file's reference. */ - Engines::Salome_file getOutputFileToService(in string service_name, + Engines::Salome_file getOutputFileToService(in string service_name, in string Salome_file_name) raises(SALOME::SALOME_Exception); - //! Check service output files (transfer them if needed) + //! Check service output files (transfer them if needed) /*! This method is used at the end of the service. It calls - recvFiles() on all the output Salome_file files of the service. - + recvFiles() on all the output Salome_file files of the service. + Before each recvFiles(), it uses the callback method named configureSalome_file. This method allows the user to configure the files managed by the Salome_file. - By default, there is no files managed when a Salome_file is created, + By default, there is no files managed when a Salome_file is created, but the supervisor set some files managed by the Salome_file from the information contained into the schema file. @@ -491,14 +460,14 @@ module Engines component provides such information. */ boolean hasObjectInfo(); - + //! Get custom information about the given object. /*! This method is used to get the custom information about the given object. Should be redefined in the certain component in case of this component provides such information. It is worth using this method only if hasObjectInfo() method returns true. - + \param entry object's entry. \param studyId study id @@ -516,21 +485,6 @@ module Engines \return string containing component's version, e.g. "1.0" */ string getVersion(); - - //! Generic Import operation to let the component to import data, corresponding to it. - /*! - \param studyId indentifier of the study where the data must be placed - \param data data for import: usually this is just imported file content - \param options additional options for Importat operation - \return the sequence of identifiers of the importedData in the component (to use later in the export function) - */ - ListOfIdentifiers importData(in long studyId, in DataContainer data, in ListOfOptions options); - - //! Generic Export operation to ket the component export all modified data corresponding to it. - /*! - \param studyId identifier of the study that contains the exported data - */ - ListOfData getModifiedData(in long studyId); }; /*! @@ -571,7 +525,7 @@ module Engines //! Close the file transfer /*! - when the file transfer is finished, close method releases structures + when the file transfer is finished, close method releases structures created by open method, identified by fileId. */ void close(in long fileId); @@ -592,16 +546,16 @@ module Engines }; - //! A file managed by a Salome_file. + //! A file managed by a Salome_file. struct file { //! file name string file_name; //! path name - string path; + string path; string type; string source_file_name; //! status ("present" or "notpresent") - string status; + string status; long node; Engines::Container container; }; @@ -610,16 +564,16 @@ module Engines typedef sequence files; - //! The state of a Salome_file. + //! The state of a Salome_file. struct SfState { //! file name - string name; + string name; //! hdf5 file where the file can be saved - string hdf5_file_name; + string hdf5_file_name; //! number of files managed - long number_of_files; + long number_of_files; //! information if all the files are received - boolean files_ok; + boolean files_ok; }; @@ -649,7 +603,7 @@ module Engines */ void save(in string hdf5_file) raises (SALOME::SALOME_Exception); - //! Save a Salome_file into a hdf5_file. + //! Save a Salome_file into a hdf5_file. /*! All files that are managed are saved into the hdf5_file @@ -700,7 +654,7 @@ module Engines */ void connectDistributedFile(in string file_name, in Engines::Salome_file source_Salome_file) raises (SALOME::SALOME_Exception); - + //! Connect the file_name with a Distributed file_name. /*! @@ -774,7 +728,7 @@ module Engines machine (refMachine). It is created by a container (factoryServer) on refMachine, with createFileRef(in string origFileName) method. - The fileRef object maintains a list of (machine,filename) for copies. + The fileRef object maintains a list of (machine,filename) for copies. If a copy exists on myMachine, getRef(myMachine) returns the file name of the copy on myMachine, else returns empy string. If there is no copy on myMachine, method getFileTransfer() from container diff --git a/salome_adm/cmake_files/FindSalomeSimanIO.cmake b/salome_adm/cmake_files/FindSalomeSimanIO.cmake deleted file mode 100644 index 453880d98..000000000 --- a/salome_adm/cmake_files/FindSalomeSimanIO.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# Author: Vadim SANDLER -# - -# SimanIO detection dor Salome -# -# !! Please read the generic detection procedure in SalomeMacros.cmake !! -# - -SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(SimanIO SIMANIO_INCLUDE_DIRS 1) -#MARK_AS_ADVANCED() - -IF(SIMANIO_FOUND) - SALOME_ACCUMULATE_HEADERS(SIMANIO_INCLUDE_DIRS) - SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${SIMANIO_LIBRARIES}) -ENDIF() diff --git a/salome_adm/cmake_files/FindSimanIO.cmake b/salome_adm/cmake_files/FindSimanIO.cmake deleted file mode 100644 index 1eea13e84..000000000 --- a/salome_adm/cmake_files/FindSimanIO.cmake +++ /dev/null @@ -1,54 +0,0 @@ -# - Find SimanIO installation -# -# The following variable are set: -# SIMANIO_FOUND - TRUE if SimanIO installation has been found -# SIMANIO_INCLUDE_DIRS - SimanIO headers path -# SIMANIO_LIBRARIES - SimanIO libraries -# -# The CMake (or environment) variable SIMANIO_ROOT_DIR can be set to -# guide the detection and indicate a root directory to look into. -# -############################################################################ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# ------ - -IF(NOT SIMANIO_FIND_QUIETLY) - MESSAGE(STATUS "Check for SimanIO ...") -ENDIF() - -# ------ - -SET(SIMANIO_ROOT_DIR $ENV{SIMANIO_ROOT_DIR} CACHE PATH "Path to the SimanIO.") -IF(SIMANIO_ROOT_DIR) - LIST(APPEND CMAKE_PREFIX_PATH "${SIMANIO_ROOT_DIR}") -ENDIF() - -FIND_PATH(SIMANIO_INCLUDE_DIRS SimanIO_Link.hxx) -FIND_LIBRARY(SIMANIO_LIBRARIES NAMES SimanIO) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(SimanIO REQUIRED_VARS SIMANIO_INCLUDE_DIRS SIMANIO_LIBRARIES) - -IF(SIMANIO_FOUND) - IF(NOT SIMANIO_FIND_QUIETLY) - MESSAGE(STATUS "SimanIO library: ${SIMANIO_LIBRARIES}") - ENDIF() -ENDIF() diff --git a/salome_adm/unix/config_files/check_simanio.m4 b/salome_adm/unix/config_files/check_simanio.m4 deleted file mode 100644 index 7f14b930d..000000000 --- a/salome_adm/unix/config_files/check_simanio.m4 +++ /dev/null @@ -1,96 +0,0 @@ -dnl Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -dnl -dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -dnl -dnl This library is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Lesser General Public -dnl License as published by the Free Software Foundation; either -dnl version 2.1 of the License, or (at your option) any later version. -dnl -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Lesser General Public License for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public -dnl License along with this library; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -dnl -dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -dnl - -AC_DEFUN([CHECK_SIMANIO],[ - -SIMANIO_CPPFLAGS="" -SIMANIO_LIBS="" - -AC_CHECKING(for SimanIO location) -AC_ARG_WITH(simanio, - [AC_HELP_STRING([--with-simanio=DIR],[root directory path to SimanIO installation])], - [SIMANIODIR="$withval" - AC_MSG_RESULT("select $withval as path to SimanIO installation") - ]) - -if test "x$SIMANIODIR" = "x" ; then - # no --with-simanio option used - if test "x$SIMANIO_ROOT_DIR" != "x" ; then - # SIMANIO_ROOT_DIR environment variable defined - SIMANIODIR=$SIMANIO_ROOT_DIR - fi -fi - -AC_MSG_RESULT(\$SIMANIODIR = ${SIMANIODIR}) - -CPPFLAGS_old="${CPPFLAGS}" -LIBS_old=$LIBS - -LIB_SUFFIX="${LIB_LOCATION_SUFFIX}" - -if test "x${SIMANIODIR}" != "x" ; then - SIMANIO_CPPFLAGS="-I${SIMANIODIR}/include" - SIMANIO_LIBS="-L${SIMANIODIR}/lib" -fi - -if test "x${SIMANIODIR}" = "x/usr" ; then - SIMANIO_CPPFLAGS="" - SIMANIO_LIBS="" -fi - -simanio_ok=no -simanio_headers_ok=no -simanio_binaries_ok=no - -dnl SIMANIO headers -#AC_CHECKING(for SimanIO headers) - -simanio_headers_ok=yes -if test "x${SIMANIODIR}" != "x" ; then - AC_CHECK_FILE(${SIMANIODIR}/include/SimanIO_Link.hxx, - simanio_headers_ok=yes, - simanio_headers_ok=no) -fi - -if test "x${simanio_headers_ok}" = "xno" ; then - SIMANIO_CPPFLAGS="SIMANIO_CPPFLAGS_NOT_DEFINED" -else - #AC_MSG_RESULT(\$SIMANIO_CPPFLAGS = ${SIMANIO_CPPFLAGS}) - AC_CHECK_FILE(${SIMANIODIR}/lib/libSimanIO.so, - simanio_lib_ok=yes, - simanio_lib_ok=no) -fi -#AC_MSG_RESULT(for SimanIO libraries: $simanio_lib_ok) - -if test "x${simanio_headers_ok}" = "xyes" ; then - if test "x${simanio_lib_ok}" = "xyes" ; then - SIMANIO_LIBS="-L${SIMANIODIR}/lib -lSimanIO" - simanio_ok=yes - fi -fi - -AC_MSG_RESULT(for simanio: $simanio_ok) - -AC_SUBST(SIMANIO_CPPFLAGS) -AC_SUBST(SIMANIO_LIBS) - -])dnl diff --git a/src/Container/CMakeLists.txt b/src/Container/CMakeLists.txt index 38aecf6bc..7260fb8a4 100755 --- a/src/Container/CMakeLists.txt +++ b/src/Container/CMakeLists.txt @@ -40,7 +40,6 @@ SET(SCRIPTS SALOME_ComponentPy.py SALOME_PyNode.py SALOME_Container.py - SALOME_DataContainerPy.py ) ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${OMNIORB_DEFINITIONS}) @@ -76,7 +75,6 @@ ENDIF() SET(SalomeContainer_SOURCES Component_i.cxx Container_i.cxx - SALOME_DataContainer_i.cxx SALOME_FileTransfer_i.cxx SALOME_FileRef_i.cxx Container_init_python.cxx diff --git a/src/Container/Component_i.cxx b/src/Container/Component_i.cxx index 7f8b0f3c7..5cd709ace 100644 --- a/src/Container/Component_i.cxx +++ b/src/Container/Component_i.cxx @@ -60,7 +60,7 @@ bool Engines_Component_i::_isMultiInstance = false; */ //============================================================================= -/*! +/*! * Default constructor, not for use */ //============================================================================= @@ -86,8 +86,8 @@ Engines_Component_i::Engines_Component_i():_myConnexionToRegistry(0), _notifSupp //============================================================================= Engines_Component_i::Engines_Component_i(CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableServer::ObjectId * contId, + PortableServer::POA_ptr poa, + PortableServer::ObjectId * contId, const char *instanceName, const char *interfaceName, bool notif, @@ -175,7 +175,7 @@ Engines_Component_i::Engines_Component_i(CORBA::ORB_ptr orb, //============================================================================= -/*! +/*! * Destructor: call Container for decrement of instances count. * When instances count falls to 0, the container tries to remove the * component library (dlclose) @@ -204,7 +204,7 @@ Engines_Component_i::~Engines_Component_i() } //============================================================================= -/*! +/*! * CORBA method: return name of the instance, unique in this Container */ //============================================================================= @@ -215,7 +215,7 @@ char* Engines_Component_i::instanceName() } //============================================================================= -/*! +/*! * CORBA method: return name of the component class */ //============================================================================= @@ -226,7 +226,7 @@ char* Engines_Component_i::interfaceName() } //============================================================================= -/*! +/*! * CORBA method: Get study Id * \return -1: not initialised (Internal Error) * 0: multistudy component instance @@ -240,7 +240,7 @@ CORBA::Long Engines_Component_i::getStudyId() } //============================================================================= -/*! +/*! * CORBA method: Test if instance is alive and responds */ //============================================================================= @@ -257,7 +257,7 @@ void Engines_Component_i::ping() } //============================================================================= -/*! +/*! * CORBA method: Deactivate this instance. CORBA object is deactivated (do not * respond any more to CORBA calls), the connection to Regsitry is removed * (Registry informed of deactivation), internal server reference counter on @@ -279,7 +279,7 @@ void Engines_Component_i::destroy() } //============================================================================= -/*! +/*! * CORBA method: return CORBA reference of the Container * */ @@ -291,12 +291,12 @@ Engines::Container_ptr Engines_Component_i::GetContainerRef() } //============================================================================= -/*! - * CORBA method: - * Gives a sequence of (key=string,value=any) to the component. +/*! + * CORBA method: + * Gives a sequence of (key=string,value=any) to the component. * Base class component stores the sequence in a map. * The map is cleared before. - * This map is for use by derived classes. + * This map is for use by derived classes. * \param dico sequence of (key=string,value=any) */ //============================================================================= @@ -312,8 +312,8 @@ void Engines_Component_i::setProperties(const Engines::FieldsDict& dico) } //============================================================================= -/*! - * CORBA method: +/*! + * CORBA method: * returns a previously stored map (key=string,value=any) as a sequence. * (see setProperties) */ @@ -335,8 +335,8 @@ Engines::FieldsDict* Engines_Component_i::getProperties() } //============================================================================= -/*! - * CORBA method: +/*! + * CORBA method: * This method is to set an option specific to a certain EngineComponent. */ //============================================================================= @@ -346,8 +346,8 @@ void Engines_Component_i::SetOption(const char*, const char*) } //============================================================================= -/*! - * CORBA method: +/*! + * CORBA method: * This method is to get value of an option specific to a certain EngineComponent. */ //============================================================================= @@ -358,7 +358,7 @@ char* Engines_Component_i::GetOption(const char*) } //============================================================================= -/*! +/*! * CORBA method: used by Supervision to give names to this instance */ //============================================================================= @@ -373,12 +373,12 @@ void Engines_Component_i::Names( const char * graphName , } //============================================================================= -/*! +/*! * CORBA method: used in Supervision */ //============================================================================= -bool Engines_Component_i::Kill_impl() +bool Engines_Component_i::Kill_impl() { // MESSAGE("Engines_Component_i::Kill_i() pthread_t "<< pthread_self() // << " pid " << getpid() << " instanceName " @@ -407,7 +407,7 @@ bool Engines_Component_i::Kill_impl() } //============================================================================= -/*! +/*! * CORBA method: used in Supervision */ //============================================================================= @@ -427,7 +427,7 @@ bool Engines_Component_i::Stop_impl() << " machineName " << Kernel_Utils::GetHostname().c_str()<< " _id " << std::hex << _id << std::dec << " _ThreadId " << _ThreadId ); #endif - + bool RetVal = false ; #ifndef WIN32 @@ -447,7 +447,7 @@ bool Engines_Component_i::Stop_impl() } //============================================================================= -/*! +/*! * CORBA method: used in Supervision */ //============================================================================= @@ -479,7 +479,7 @@ bool Engines_Component_i::Suspend_impl() { return false ; } - else + else { #ifndef WIN32 RetVal = Killer( _ThreadId ,SIGINT ) ; @@ -494,7 +494,7 @@ bool Engines_Component_i::Suspend_impl() } //============================================================================= -/*! +/*! * CORBA method: used in Supervision */ //============================================================================= @@ -521,7 +521,7 @@ bool Engines_Component_i::Resume_impl() if ( _ThreadId > 0 && pthread_self().p != _ThreadId->p ) #endif { - if ( _Sleeping ) + if ( _Sleeping ) { _Sleeping = false ; RetVal = true ; @@ -535,8 +535,8 @@ bool Engines_Component_i::Resume_impl() } //============================================================================= -/*! - * CORBA method: +/*! + * CORBA method: */ //============================================================================= @@ -576,7 +576,7 @@ CORBA::Long Engines_Component_i::CpuUsed_impl() // << _serviceName << " " << cpu << endl ; } } - else + else { cpu = _ThreadCpuUsed ; // cout << pthread_self() << " Engines_Component_i::CpuUsed_impl " @@ -593,7 +593,7 @@ CORBA::Long Engines_Component_i::CpuUsed_impl() //============================================================================= -/*! +/*! * C++ method: return Container Servant */ //============================================================================= @@ -605,9 +605,9 @@ Engines_Container_i *Engines_Component_i::GetContainerPtr() } //============================================================================= -/*! +/*! * C++ method: set study Id - * \param studyId 0 if instance is not associated to a study, + * \param studyId 0 if instance is not associated to a study, * >0 otherwise (== study id) * \return true if the set of study Id is OK * must be set once by Container, at instance creation, @@ -619,7 +619,7 @@ CORBA::Boolean Engines_Component_i::setStudyId(CORBA::Long studyId) { ASSERT( studyId >= 0); CORBA::Boolean ret = false; - if (_studyId < 0) // --- not yet initialized + if (_studyId < 0) // --- not yet initialized { _studyId = studyId; ret = true; @@ -630,7 +630,7 @@ CORBA::Boolean Engines_Component_i::setStudyId(CORBA::Long studyId) } //============================================================================= -/*! +/*! * C++ method: return CORBA instance id, the id is set in derived class * constructor, when instance is activated. */ @@ -643,7 +643,7 @@ PortableServer::ObjectId * Engines_Component_i::getId() } //============================================================================= -/*! +/*! * C++ method: used by derived classes for supervision */ //============================================================================= @@ -695,7 +695,7 @@ void Engines_Component_i::beginService(const char *serviceName) } //============================================================================= -/*! +/*! * C++ method: used by derived classes for supervision */ //============================================================================= @@ -715,7 +715,7 @@ void Engines_Component_i::endService(const char *serviceName) } //============================================================================= -/*! +/*! * C++ method: -- CHECK IF USED -- */ //============================================================================= @@ -726,7 +726,7 @@ char* Engines_Component_i::graphName() } //============================================================================= -/*! +/*! * C++ method: -- CHECK IF USED -- */ //============================================================================= @@ -737,7 +737,7 @@ char* Engines_Component_i::nodeName() } //============================================================================= -/*! +/*! * C++ method: used in Supervision (see kill_impl) */ //============================================================================= @@ -773,7 +773,7 @@ bool Engines_Component_i::Killer( pthread_t ThreadId , int signum ) perror("Killer pthread_kill error") ; return false ; } - else + else { #ifdef WIN32 MESSAGE("Killer : ThreadId " << ThreadId.p << " pthread_killed(" << signum << ")") ; @@ -790,9 +790,9 @@ void SetCpuUsed(); void CallCancelThread(); //============================================================================= -/*! +/*! * C++ method: - */ + */ //============================================================================= void SetCpuUsed() @@ -802,7 +802,7 @@ void SetCpuUsed() } //============================================================================= -/*! +/*! * C++ method: */ //============================================================================= @@ -810,12 +810,12 @@ void SetCpuUsed() void Engines_Component_i::SetCurCpu() { _ThreadCpuUsed = CpuUsed() ; - // MESSAGE(pthread_self() << + // MESSAGE(pthread_self() << // " Engines_Component_i::SetCurCpu() _ThreadCpuUsed " << _ThreadCpuUsed) ; } //============================================================================= -/*! +/*! * C++ method: */ //============================================================================= @@ -843,10 +843,10 @@ long Engines_Component_i::CpuUsed() else { // std::cout << pthread_self() << "Engines_Component_i::CpuUsed _ThreadId " - // << _ThreadId << " " << _serviceName<< " _StartUsed " + // << _ThreadId << " " << _serviceName<< " _StartUsed " // << _StartUsed << std::endl ; } -#else +#else // NOT implementet yet #endif @@ -872,7 +872,7 @@ void Engines_Component_i::CancelThread() } //============================================================================= -/*! +/*! * C++ method: Send message to event channel */ //============================================================================= @@ -884,7 +884,7 @@ void Engines_Component_i::sendMessage(const char *event_type, } //============================================================================= -/*! +/*! * C++ method: return standard library name built on component name */ //============================================================================= @@ -898,19 +898,19 @@ std::string Engines_Component_i::GetDynLibraryName(const char *componentName) #else std::string ret=componentName; ret+="Engine.dll"; -#endif +#endif return ret; } //============================================================================= -/*! +/*! * C++ method: DumpPython default implementation */ //============================================================================= -Engines::TMPFile* Engines_Component_i::DumpPython(CORBA::Object_ptr theStudy, - CORBA::Boolean isPublished, - CORBA::Boolean isMultiFile, +Engines::TMPFile* Engines_Component_i::DumpPython(CORBA::Object_ptr theStudy, + CORBA::Boolean isPublished, + CORBA::Boolean isMultiFile, CORBA::Boolean& isValidScript) { const char* aScript = isMultiFile ? "def RebuildData(theStudy): pass" : ""; @@ -918,14 +918,14 @@ Engines::TMPFile* Engines_Component_i::DumpPython(CORBA::Object_ptr theStudy, strcpy(aBuffer, aScript); CORBA::Octet* anOctetBuf = (CORBA::Octet*)aBuffer; int aBufferSize = strlen(aBuffer)+1; - Engines::TMPFile_var aStreamFile = new Engines::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1); + Engines::TMPFile_var aStreamFile = new Engines::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1); isValidScript = true; - return aStreamFile._retn(); + return aStreamFile._retn(); } -Engines::Salome_file_ptr -Engines_Component_i::getInputFileToService(const char* service_name, - const char* Salome_file_name) +Engines::Salome_file_ptr +Engines_Component_i::getInputFileToService(const char* service_name, + const char* Salome_file_name) { // Try to find the service, if it doesn't exist, we throw an exception. _Service_file_map_it = _Input_Service_file_map.find(service_name); @@ -950,9 +950,9 @@ Engines_Component_i::getInputFileToService(const char* service_name, return Sfile->_this(); } -Engines::Salome_file_ptr -Engines_Component_i::setInputFileToService(const char* service_name, - const char* Salome_file_name) +Engines::Salome_file_ptr +Engines_Component_i::setInputFileToService(const char* service_name, + const char* Salome_file_name) { // Try to find the service, if it doesn't exist, we add it. _Service_file_map_it = _Input_Service_file_map.find(service_name); @@ -961,7 +961,7 @@ Engines_Component_i::setInputFileToService(const char* service_name, _Input_Service_file_map[service_name] = _map; } _t_Salome_file_map * _map = _Input_Service_file_map[service_name]; - + // Try to find the Salome_file ... _Salome_file_map_it = _map->find(Salome_file_name); if (_Salome_file_map_it == _map->end()) { @@ -975,8 +975,8 @@ Engines_Component_i::setInputFileToService(const char* service_name, return Sfile->_this(); } -void -Engines_Component_i::checkInputFilesToService(const char* service_name) +void +Engines_Component_i::checkInputFilesToService(const char* service_name) { // Try to find the service, if it doesn't exist, nothing to do. _Service_file_map_it = _Input_Service_file_map.find(service_name); @@ -994,9 +994,9 @@ Engines_Component_i::checkInputFilesToService(const char* service_name) } } -Engines::Salome_file_ptr -Engines_Component_i::getOutputFileToService(const char* service_name, - const char* Salome_file_name) +Engines::Salome_file_ptr +Engines_Component_i::getOutputFileToService(const char* service_name, + const char* Salome_file_name) { // Try to find the service, if it doesn't exist, we throw an exception. _Service_file_map_it = _Output_Service_file_map.find(service_name); @@ -1021,9 +1021,9 @@ Engines_Component_i::getOutputFileToService(const char* service_name, return Sfile->_this(); } -Engines::Salome_file_ptr -Engines_Component_i::setOutputFileToService(const char* service_name, - const char* Salome_file_name) +Engines::Salome_file_ptr +Engines_Component_i::setOutputFileToService(const char* service_name, + const char* Salome_file_name) { // Try to find the service, if it doesn't exist, we add it. _Service_file_map_it = _Output_Service_file_map.find(service_name); @@ -1032,7 +1032,7 @@ Engines_Component_i::setOutputFileToService(const char* service_name, _Output_Service_file_map[service_name] = _map; } _t_Salome_file_map * _map = _Output_Service_file_map[service_name]; - + // Try to find the Salome_file ... _Salome_file_map_it = _map->find(Salome_file_name); if (_Salome_file_map_it == _map->end()) { @@ -1046,8 +1046,8 @@ Engines_Component_i::setOutputFileToService(const char* service_name, return Sfile->_this(); } -void -Engines_Component_i::checkOutputFilesToService(const char* service_name) +void +Engines_Component_i::checkOutputFilesToService(const char* service_name) { // Try to find the service, if it doesn't exist, nothing to do. _Service_file_map_it = _Output_Service_file_map.find(service_name); @@ -1067,7 +1067,7 @@ Engines_Component_i::checkOutputFilesToService(const char* service_name) } //============================================================================= -/*! +/*! * C++ method: used to configure the Salome_file into the runtime. * \param service_name name of the service that use this Salome_file * \param file_port_name name of the Salome_file @@ -1077,45 +1077,13 @@ Engines_Component_i::checkOutputFilesToService(const char* service_name) void Engines_Component_i::configureSalome_file(std::string service_name, std::string file_port_name, - Salome_file_i * file) + Salome_file_i * file) { // By default this method does nothing } //============================================================================= -/*! - * C++ method: allows to import data file into the Component internal data - structure (like import operation of BRep file in GEOM module). - * \param studyId identifier of the working study - * \param data container of the file content - * \param options additional options for import (if needed) - */ -//============================================================================= -Engines::ListOfIdentifiers* Engines_Component_i::importData(CORBA::Long studyId, - Engines::DataContainer_ptr data, - const Engines::ListOfOptions& options) -{ - // By default this method does nothing - Engines::ListOfIdentifiers_var aList = new Engines::ListOfIdentifiers; - return aList._retn(); -} - -//============================================================================= -/*! - * C++ method: allows to export data files from the Component internal data - structure (like Export operation of Step file in GEOM module). - * \param studyId identifier of the working study - */ -//============================================================================= -Engines::ListOfData* Engines_Component_i::getModifiedData(CORBA::Long studyId) -{ - // By default this method does nothing - Engines::ListOfData_var aList = new Engines::ListOfData; - return aList._retn(); -} - -//============================================================================= -/*! +/*! * C++ method: return the name of the container associated with this component * This name does not contains the "/Containers" string and all "/" are replaced by "_" * \return the container name (reformatted) @@ -1126,7 +1094,7 @@ std::string Engines_Component_i::getContainerName() return _containerName; } //============================================================================= -/*! +/*! * C++ method: set the name of the container associated with this component (attribute _containerName) * This name does not contains the "/Containers" string and all "/" are replaced by "_" * \return the container name (reformatted) @@ -1152,7 +1120,7 @@ void Engines_Component_i::setContainerName() \note The version of the component is stored to the study, as a part of general persistence mechanism; once stored, version information in the study cannot be changed. - + \return string containing component's version, e.g. "1.0" */ char* Engines_Component_i::getVersion() diff --git a/src/Container/SALOME_ComponentPy.py b/src/Container/SALOME_ComponentPy.py index 884558ec7..a69a55b75 100755 --- a/src/Container/SALOME_ComponentPy.py +++ b/src/Container/SALOME_ComponentPy.py @@ -54,13 +54,13 @@ _Sleeping = 0 ## define an implementation of the component interface Engines::Component # -# +# class SALOME_ComponentPy_i (Engines__POA.EngineComponent): _orb = None _poa = None _fieldsDict = [] _studyId = -1 - + #------------------------------------------------------------------------- def __init__ (self, orb, poa, contID, containerName, @@ -126,7 +126,7 @@ class SALOME_ComponentPy_i (Engines__POA.EngineComponent): def _get_instanceName(self): MESSAGE( "SALOME_ComponentPy_i::_get_instanceName" ) return self._instanceName - + #------------------------------------------------------------------------- def _get_interfaceName(self): @@ -137,12 +137,12 @@ class SALOME_ComponentPy_i (Engines__POA.EngineComponent): def ping(self): MESSAGE( "SALOME_ComponentPy_i::ping() pid " + str(os.getpid()) ) - + #------------------------------------------------------------------------- def setProperties(self, dico): self._fieldsDict = dico - + #------------------------------------------------------------------------- def getProperties(self): @@ -155,13 +155,13 @@ class SALOME_ComponentPy_i (Engines__POA.EngineComponent): id = self._poa.servant_to_id(self) self._poa.deactivate_object(id) return - + #------------------------------------------------------------------------- def GetContainerRef(self): MESSAGE( "SALOME_ComponentPy_i::GetContainerRef" ) return self._contId._narrow(Engines.Container) - + #------------------------------------------------------------------------- def beginService(self , serviceName ): @@ -180,7 +180,7 @@ class SALOME_ComponentPy_i (Engines__POA.EngineComponent): value=any.from_any(e.value) if isinstance(value,str): os.environ[key]=value - + #------------------------------------------------------------------------- @@ -201,7 +201,7 @@ class SALOME_ComponentPy_i (Engines__POA.EngineComponent): MESSAGE( "SALOME_ComponentPy_i::Names" + str(GraphName) + str(NodeName) ) self._graphName = GraphName self._nodeName = NodeName - + #------------------------------------------------------------------------- def graphName(self): @@ -226,8 +226,8 @@ class SALOME_ComponentPy_i (Engines__POA.EngineComponent): # return 0 #else: # MESSAGE() - return 1 - + return 1 + #------------------------------------------------------------------------- def Kill_impl(self): @@ -292,41 +292,33 @@ class SALOME_ComponentPy_i (Engines__POA.EngineComponent): return 0 #------------------------------------------------------------------------- - + def DumpPython(self, theStudy, isPublished, isMultiFile): aBuffer = "\0" if isMultiFile : aBuffer = "def RebuildData(theStudy): pass\n\0" return (aBuffer, 1) - #------------------------------------------------------------------------- + #------------------------------------------------------------------------- def getStudyId(self): return self._studyId - #------------------------------------------------------------------------- + #------------------------------------------------------------------------- def hasObjectInfo(self): return 0 - #------------------------------------------------------------------------- + #------------------------------------------------------------------------- def getObjectInfo(self, studyId, entry): return "" - #------------------------------------------------------------------------- + #------------------------------------------------------------------------- def getVersion(self): return "" # empty string means "unknown" version - #------------------------------------------------------------------------- - - def importData(self, studyId, dataContainer, options): - return [] # no implementation by default - - #------------------------------------------------------------------------- - - def getModifiedData(self, studyId): - return [] # no implementation by default + #------------------------------------------------------------------------- pass # end of SALOME_ComponentPy_i diff --git a/src/Container/SALOME_Component_i.hxx b/src/Container/SALOME_Component_i.hxx index 9ff1b4930..e71134f97 100644 --- a/src/Container/SALOME_Component_i.hxx +++ b/src/Container/SALOME_Component_i.hxx @@ -49,7 +49,7 @@ class RegistryConnexion; class Engines_Container_i; -class CONTAINER_EXPORT Engines_Component_i: +class CONTAINER_EXPORT Engines_Component_i: public virtual POA_Engines::EngineComponent, public virtual PortableServer::ServantBase { @@ -57,16 +57,16 @@ public: Engines_Component_i(); Engines_Component_i(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, - PortableServer::ObjectId * contId, - const char *instanceName, + PortableServer::ObjectId * contId, + const char *instanceName, const char *interfaceName, bool notif = false, bool regist = true); //Constructor for standalone component Engines_Component_i(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, - Engines::Container_ptr container, - const char *instanceName, + Engines::Container_ptr container, + const char *instanceName, const char *interfaceName, bool notif = false, bool regist = true); @@ -103,29 +103,29 @@ public: CORBA::Boolean& isValidScript); // CORBA operations for Salome_file - virtual Engines::Salome_file_ptr getInputFileToService(const char* service_name, + virtual Engines::Salome_file_ptr getInputFileToService(const char* service_name, const char* Salome_file_name); - virtual Engines::Salome_file_ptr getOutputFileToService(const char* service_name, + virtual Engines::Salome_file_ptr getOutputFileToService(const char* service_name, const char* Salome_file_name); virtual void checkInputFilesToService(const char* service_name); - virtual Engines::Salome_file_ptr setInputFileToService(const char* service_name, + virtual Engines::Salome_file_ptr setInputFileToService(const char* service_name, const char* Salome_file_name); virtual void checkOutputFilesToService(const char* service_name); - virtual Engines::Salome_file_ptr setOutputFileToService(const char* service_name, + virtual Engines::Salome_file_ptr setOutputFileToService(const char* service_name, const char* Salome_file_name); // Object information virtual bool hasObjectInfo() { return false; } virtual char* getObjectInfo(CORBA::Long studyId, const char* entry) { return CORBA::string_dup(""); } - + // Version information virtual char* getVersion(); - + // --- local C++ methods - PortableServer::ObjectId * getId(); + PortableServer::ObjectId * getId(); Engines_Container_i *GetContainerPtr(); std::string getContainerName(); void setContainerName(); @@ -149,11 +149,6 @@ public: std::string file_port_name, Salome_file_i * file); - virtual Engines::ListOfIdentifiers* importData(CORBA::Long studyId, - Engines::DataContainer_ptr data, - const Engines::ListOfOptions& options); - virtual Engines::ListOfData* getModifiedData(CORBA::Long studyId); - protected: int _studyId; // -1: not initialised; 0: multiStudy; >0: study static bool _isMultiStudy; @@ -177,7 +172,7 @@ protected: typedef std::map _t_Salome_file_map; // Map Service_name to _Salome_file_map typedef std::map _t_Service_file_map; - + _t_Service_file_map _Input_Service_file_map; _t_Service_file_map _Output_Service_file_map; _t_Service_file_map::iterator _Service_file_map_it; diff --git a/src/Container/SALOME_DataContainerPy.py b/src/Container/SALOME_DataContainerPy.py deleted file mode 100755 index 8df830db3..000000000 --- a/src/Container/SALOME_DataContainerPy.py +++ /dev/null @@ -1,96 +0,0 @@ -#! /usr/bin/env python -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -# -# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# SALOME DataContainer : implementation of data container -# File : SALOME_DataContainerPy.py -# Author : Mikhail PONIKARIOV -# Module : SALOME -# $Header$ -# -import os -import sys -import string - -from omniORB import CORBA, PortableServer -import Engines, Engines__POA -from SALOME_ComponentPy import * - -#============================================================================= - -#define an implementation of the data container interface for the data transfer implemented in Python - -class SALOME_DataContainerPy_i (Engines__POA.DataContainer): - _url = "" - _name = "" - _identifier = "" - _ext = -1 - _removeAfterGet = True; - - #------------------------------------------------------------------------- - - def __init__(self, urlorstream, name, identifier, removeAfterGet, isStream = False): - self._urlorstream = urlorstream - self._name = name - self._identifier = identifier - self._removeAfterGet = removeAfterGet - self._isStream = isStream - if isStream: - self._ext = "" - else: - self._ext = urlorstream[urlorstream.rfind(".") + 1 : ] - - #------------------------------------------------------------------------- - - def get(self): - if self._isStream: - return self._urlorstream - - f = open(self._urlorstream, 'r') - stream = f.read() - f.close() - if self._removeAfterGet: - os.remove(self._urlorstream) - try: # try to remove directory if it is empty - index = max(self._urlorstream.rfind("\\"), self._url.rfind("/")) - if index > 0: - os.rmdir(self._urlorstream[:index]) - except: - pass - return stream - - #------------------------------------------------------------------------- - - def name(self): - return self._name - - #------------------------------------------------------------------------- - - def identifier(self): - return self._identifier - - def extension(self): - return self._ext - - def setExtension(self, ext): - self._ext = ext diff --git a/src/Container/SALOME_DataContainer_i.cxx b/src/Container/SALOME_DataContainer_i.cxx deleted file mode 100644 index 2f7682c83..000000000 --- a/src/Container/SALOME_DataContainer_i.cxx +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -// SALOME DataContainer : implementation of data container -// File : SALOME_DataContainer_i.cxx -// Author : Mikhail PONIKAROV -// Module : SALOME -// $Header$ -// - -#include "SALOME_DataContainer_i.hxx" - -#include -#include -#ifndef WIN32 -#include -#endif -using namespace std; - -Engines_DataContainer_i::Engines_DataContainer_i() -{ -} - -Engines_DataContainer_i::Engines_DataContainer_i(const char* url, - const char* name, const char* identifier, const bool removeAfterGet) - : myName(name), myIdentifier(identifier), myURL(url), myRemoveAfterGet(removeAfterGet), - myStream(0) -{ - std::string anExtension(url); - if (anExtension.rfind(".") != std::string::npos) { // keep only extension - myExt = anExtension.substr(anExtension.rfind(".") + 1); - } else myExt = ""; -} - -Engines_DataContainer_i::Engines_DataContainer_i(char* stream, - const int streamSize, const char* name, const char* identifier, const bool removeAfterGet) - : myName(name), myIdentifier(identifier), myRemoveAfterGet(removeAfterGet), - myStream(stream), myStreamSize(streamSize), myExt("") -{ -} - -Engines_DataContainer_i::~Engines_DataContainer_i() -{ -} - -Engines::TMPFile* Engines_DataContainer_i::get() -{ - char* aBuffer = NULL; - int aFileSize = 0; - if (myStream) { // send from stream - aBuffer = myStream; - aFileSize = myStreamSize; - } else { // send from file - // open file to make stream from its content -#ifdef WIN32 - ifstream aFile(myURL.c_str(), std::ios::binary); -#else - ifstream aFile(myURL.c_str()); -#endif - if (!aFile.good()) { - std::cerr<<"File "< -#include CORBA_SERVER_HEADER(SALOME_Component) - -#include - -class CONTAINER_EXPORT Engines_DataContainer_i: - public POA_Engines::DataContainer -{ -public: - Engines_DataContainer_i(); - Engines_DataContainer_i(const char* url, - const char* name, - const char* identifier, - const bool removeAfterGet); - - Engines_DataContainer_i(char* stream, - const int streamSize, - const char* name, - const char* identifier, - const bool removeAfterGet); - virtual ~Engines_DataContainer_i(); - - // --- CORBA methods - virtual Engines::TMPFile* get(); - virtual char* name(); - virtual char* identifier(); - virtual char* extension(); - virtual void setExtension(const char* theExt); - -protected: - - std::string myExt; ///< extension (type) of the file - std::string myName; ///< name of the document corresponding to this data - std::string myIdentifier; ///< module identifier of the document corresponding to this data - std::string myURL; ///< path to the locally located file - bool myRemoveAfterGet; ///< if this flag is true, file must be removed after the first "get" method call - char* myStream; ///< if it is not NULL, data must be get from this stream, not from the file - int myStreamSize; ///< size (in bytes) if the stream in myStream -}; - -#endif diff --git a/src/SALOMEDS/CMakeLists.txt b/src/SALOMEDS/CMakeLists.txt index 102da493d..d4178e78e 100755 --- a/src/SALOMEDS/CMakeLists.txt +++ b/src/SALOMEDS/CMakeLists.txt @@ -22,7 +22,6 @@ INCLUDE_DIRECTORIES( ${OMNIORB_INCLUDE_DIR} ${HDF5_INCLUDE_DIRS} ${Boost_INCLUDE_DIR} - ${SIMANIO_INCLUDE_DIRS} ${PROJECT_BINARY_DIR}/salome_adm ${CMAKE_CURRENT_SOURCE_DIR}/../HDFPersist ${CMAKE_CURRENT_SOURCE_DIR}/../Basics @@ -59,7 +58,6 @@ SET(COMMON_LIBS SalomeLifeCycleCORBA SalomeIDLKernel ${HDF5_C_LIBRARIES} - ${SIMANIO_LIBRARIES} ) SET(SalomeDS_SOURCES @@ -70,8 +68,6 @@ SET(SalomeDS_SOURCES SALOMEDS_UseCaseIterator_i.cxx SALOMEDS_ChildIterator_i.cxx SALOMEDS_SComponentIterator_i.cxx - SALOMEDS_SimanStudy_i.cxx - SALOMEDS_SimanStudy.cxx SALOMEDS_Study_i.cxx SALOMEDS_StudyBuilder_i.cxx SALOMEDS_SObject_i.cxx @@ -163,13 +159,13 @@ ADD_EXECUTABLE(SALOMEDS_Client SALOMEDS_Client.cxx) TARGET_LINK_LIBRARIES(SALOMEDS_Client SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) INSTALL(TARGETS SALOMEDS_Server SALOMEDS_Client - EXPORT ${PROJECT_NAME}TargetGroup + EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed SALOME_INSTALL_SCRIPTS(SALOME_DriverPy.py ${SALOME_INSTALL_SCRIPT_PYTHON}) -SET(COMMON_HEADERS_HXX +SET(COMMON_HEADERS_HXX SALOMEDS_StudyManager_i.hxx SALOMEDS_Driver_i.hxx SALOMEDS_StudyManager.hxx @@ -185,7 +181,5 @@ SET(COMMON_HEADERS_HXX SALOMEDS_Defines.hxx SALOMEDS_wrap.hxx SALOMEDS_Attributes_wrap.hxx - SALOMEDS_SimanStudy.hxx - SALOMEDS_SimanStudy_i.hxx ) INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMEDS/SALOMEDS_SimanStudy.cxx b/src/SALOMEDS/SALOMEDS_SimanStudy.cxx deleted file mode 100644 index 407cda657..000000000 --- a/src/SALOMEDS/SALOMEDS_SimanStudy.cxx +++ /dev/null @@ -1,186 +0,0 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -// File : SALOMEDS_SimanStudy.cxx -// Author : Mikhail PONIKAROV -// Module : SALOME -// -#include "utilities.h" - -#include "SALOMEDS_SimanStudy.hxx" - -#include "SALOMEDS.hxx" -#include "SALOMEDS_Study.hxx" - -#include "SALOMEDSImpl_Study.hxx" - -#include "SALOMEDS_SimanStudy_i.hxx" - -#include "Basics_Utils.hxx" - -#include "Utils_ORB_INIT.hxx" -#include "Utils_SINGLETON.hxx" - -/* -SALOMEDS_SimanStudy::SALOMEDS_SimanStudy(SALOMEDSImpl_SimanStudy* theStudy) -{ - _isLocal = true; - _local_impl = theStudy; - _corba_impl = SALOMEDS::SimanStudy::_nil(); - init_orb(); -}*/ - -SALOMEDS_SimanStudy::SALOMEDS_SimanStudy(SALOMEDS::SimanStudy_ptr theStudy) -{ - /* -#ifdef WIN32 - long pid = (long)_getpid(); -#else - long pid = (long)getpid(); -#endif - - long addr = theStudy->GetLocalImpl(Kernel_Utils::GetHostname().c_str(), pid, _isLocal); - if(_isLocal) { - _local_impl = reinterpret_cast(addr); - _corba_impl = SALOMEDS::SimanStudy::_duplicate(theStudy); - } - else { - _local_impl = NULL; - _corba_impl = SALOMEDS::SimanStudy::_duplicate(theStudy); - } - */ - _corba_impl = SALOMEDS::SimanStudy::_duplicate(theStudy); - - init_orb(); -} - -SALOMEDS_SimanStudy::~SALOMEDS_SimanStudy() -{ -} - -void SALOMEDS_SimanStudy::CheckOut(const _PTR(Study) theTarget) -{ - if (!theTarget) return; - SALOMEDS_Study* aStudy = dynamic_cast(theTarget.get()); - /*if (_isLocal) { - //SALOMEDS::Locker lock; mpv: this may cause dedlock when importData in module calls another SALOMEDS method with lock - _local_impl->CheckOut(aStudy->GetLocalImpl()); - } - else*/ _corba_impl->CheckOut(aStudy->GetStudy()); -} - -void SALOMEDS_SimanStudy::CheckIn(const std::string theModuleName) -{ - /*if (_isLocal) { - //SALOMEDS::Locker lock; mpv: this may cause dedlock when getModifiedData in module calls another SALOMEDS method with lock - _local_impl->CheckIn(theModuleName); - } - else*/ _corba_impl->CheckIn((char*)theModuleName.c_str()); -} - -_PTR(Study) SALOMEDS_SimanStudy::getReferencedStudy() -{ - SALOMEDSClient_Study* aStudy = NULL; - /*if (_isLocal) { - SALOMEDS::Locker lock; - - SALOMEDSImpl_Study* aStudy_impl = _local_impl->getReferencedStudy(); - if (!aStudy_impl) return _PTR(Study)(aStudy); - aStudy = new SALOMEDS_Study(aStudy_impl); - } - else { - SALOMEDS::Study_var aStudy_impl = _corba_impl->getReferencedStudy(); - if (CORBA::is_nil(aStudy_impl)) return _PTR(Study)(aStudy); - aStudy = new SALOMEDS_Study(aStudy_impl); - }*/ - SALOMEDS::Study_var aStudy_impl = _corba_impl->getReferencedStudy(); - if (CORBA::is_nil(aStudy_impl)) return _PTR(Study)(aStudy); - aStudy = new SALOMEDS_Study(aStudy_impl); - return _PTR(Study)(aStudy); -} - -std::string SALOMEDS_SimanStudy::StudyId() -{ - std::string anId; - /*if (_isLocal) { - SALOMEDS::Locker lock; - anId = _local_impl->StudyId(); - } - else*/ anId = (CORBA::String_var)_corba_impl->StudyId(); - return anId; -} - -void SALOMEDS_SimanStudy::StudyId(const std::string theId) -{ - /*if (_isLocal) { - SALOMEDS::Locker lock; - _local_impl->StudyId(theId); - } - else*/ _corba_impl->StudyId((char*)theId.c_str()); -} - -std::string SALOMEDS_SimanStudy::ScenarioId() -{ - std::string anId; - /*if (_isLocal) { - SALOMEDS::Locker lock; - anId = _local_impl->ScenarioId(); - } - else*/ anId = (CORBA::String_var)_corba_impl->ScenarioId(); - return anId; -} - -void SALOMEDS_SimanStudy::ScenarioId(const std::string theId) -{ - /*if (_isLocal) { - SALOMEDS::Locker lock; - _local_impl->ScenarioId(theId); - } - else*/ _corba_impl->ScenarioId((char*)theId.c_str()); -} - -std::string SALOMEDS_SimanStudy::UserId() -{ - std::string anId; - /*if (_isLocal) { - SALOMEDS::Locker lock; - anId = _local_impl->UserId(); - } - else*/ anId = (CORBA::String_var)_corba_impl->UserId(); - return anId; -} - -void SALOMEDS_SimanStudy::UserId(const std::string theId) -{ - /*if (_isLocal) { - SALOMEDS::Locker lock; - _local_impl->UserId(theId); - } - else*/ _corba_impl->UserId((char*)theId.c_str()); -} - -void SALOMEDS_SimanStudy::init_orb() -{ - ORB_INIT &init = *SINGLETON_::Instance(); - ASSERT(SINGLETON_::IsAlreadyExisting()); - _orb = init(0, 0); -} diff --git a/src/SALOMEDS/SALOMEDS_SimanStudy.hxx b/src/SALOMEDS/SALOMEDS_SimanStudy.hxx deleted file mode 100644 index 9a30dead9..000000000 --- a/src/SALOMEDS/SALOMEDS_SimanStudy.hxx +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -// File : SALOMEDS_SimanStudy.hxx -// Author : Mikhail PONIKAROV -// Module : SALOME -// -#ifndef __SALOMEDS_SIMANSTUDY_H__ -#define __SALOMEDS_SIMANSTUDY_H__ - -#include -#include - -#include -#include "SALOMEDSClient.hxx" -//#include "SALOMEDSImpl_SimanStudy.hxx" - -// IDL headers -#include -#include CORBA_SERVER_HEADER(SALOMEDS) - -class Standard_EXPORT SALOMEDS_SimanStudy: public SALOMEDSClient_SimanStudy -{ - -private: - // bool _isLocal; - //SALOMEDSImpl_SimanStudy* _local_impl; // MPV: no local implementation yet: siman operations works only with CORBA interface - SALOMEDS::SimanStudy_var _corba_impl; - CORBA::ORB_var _orb; - -public: - - //SALOMEDS_SimanStudy(SALOMEDSImpl_SimanStudy* theStudy); - SALOMEDS_SimanStudy(SALOMEDS::SimanStudy_ptr theStudy); - ~SALOMEDS_SimanStudy(); - - virtual void CheckOut(const _PTR(Study) theTarget); - virtual void CheckIn(const std::string theModuleName); - virtual _PTR(Study) getReferencedStudy() ; - virtual std::string StudyId(); - virtual void StudyId(const std::string theId); - virtual std::string ScenarioId(); - virtual void ScenarioId(const std::string theId); - virtual std::string UserId(); - virtual void UserId(const std::string theId); - -private: - void init_orb(); - -}; -#endif diff --git a/src/SALOMEDS/SALOMEDS_SimanStudy_i.cxx b/src/SALOMEDS/SALOMEDS_SimanStudy_i.cxx deleted file mode 100644 index 3a98216b1..000000000 --- a/src/SALOMEDS/SALOMEDS_SimanStudy_i.cxx +++ /dev/null @@ -1,338 +0,0 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -// File : SALOMEDS_SimanStudy_i.cxx -// Author : Mikhail PONIKAROV -// Module : SALOME -// -#include "SALOMEDS_SimanStudy_i.hxx" -#include "SALOMEDS_Study_i.hxx" -#include "SALOMEDS_Study.hxx" -#include "SALOMEDS_Tool.hxx" -#include "SALOME_DataContainer_i.hxx" -#include "SALOME_NamingService.hxx" -#include "SALOME_LifeCycleCORBA.hxx" -#include "Basics_Utils.hxx" -#include "Basics_DirUtils.hxx" -#include "utilities.h" - -#ifdef WITH_SIMANIO -#include -#include -#endif - -#include -#include CORBA_SERVER_HEADER(SALOME_Component) - -//============================================================================ -/*! Function : SALOMEDS_SimanStudy_i - * Purpose : standard constructor - */ -//============================================================================ -SALOMEDS_SimanStudy_i::SALOMEDS_SimanStudy_i(/*SALOMEDSImpl_SimanStudy* theImpl,*/ CORBA::ORB_ptr orb) -{ - _orb = CORBA::ORB::_duplicate(orb); - _name_service = new SALOME_NamingService(_orb); -#ifdef WITH_SIMANIO - _checkedOut = new SimanIO_Configuration; -#endif -} - -//============================================================================ -/*! Function : ~SALOMEDS_SimanStudy_i - * Purpose : standard destructor - */ -//============================================================================ -SALOMEDS_SimanStudy_i::~SALOMEDS_SimanStudy_i() -{ -#ifdef WITH_SIMANIO - if (_checkedOut) { - SimanIO_Configuration::ActivitiesIterator actIter(*_checkedOut); - for(; actIter.More(); actIter.Next()) { - SimanIO_Activity::DocumentsIterator aDocIter(actIter.Activity()); - for(; aDocIter.More(); aDocIter.Next()) { - SimanIO_Document& aDoc = aDocIter.Document(); - SimanIO_Document::FilesIterator aFileIter(aDoc); - for(; aFileIter.More(); aFileIter.Next()) { - std::string aURL = aFileIter.URL(); - std::string aDir = Kernel_Utils::GetDirName(aURL); - aDir += "/"; - std::string aFileName = aURL.substr(aDir.size()); - SALOMEDS::ListOfFileNames aTmpFiles; - aTmpFiles.length(1); - aTmpFiles[0] = aFileName.c_str(); - // try to remove temporary directory that contains this file if directory becomes empty - SALOMEDS_Tool::RemoveTemporaryFiles(aDir, aTmpFiles, true); - } - } - } - delete _checkedOut; - } -#endif - delete _name_service; -} - -//============================================================================ -/*! Function : CheckOut - * Purpose : Get data from SIMAN and put it to the given study - */ -//============================================================================ -void SALOMEDS_SimanStudy_i::CheckOut(SALOMEDS::Study_ptr theTarget) -{ - // SimanStudy and Study must be located at the same place anyway - SALOMEDS_Study aStudy(theTarget); - _study = aStudy.GetLocalImpl(); - if (_study) { -#ifdef WITH_SIMANIO - int aLocked = _study->GetProperties()->IsLocked(); - if (aLocked) _study->GetProperties()->SetLocked(false); - - SimanIO_Link aLink(_studyId.c_str(), _scenarioId.c_str(), _userId.c_str()); - if (aLink.IsConnected()) { - // Set "C" locale temporarily to avoid possible localization problems - Kernel_Utils::Localizer loc; - *_checkedOut = aLink.RetrieveConf(); - SimanIO_Configuration::ActivitiesIterator actIter(*_checkedOut); - for(; actIter.More(); actIter.Next()) { - Engines::EngineComponent_var aComp = - SALOME_LifeCycleCORBA(_name_service).FindOrLoad_Component("FactoryServer", actIter.Activity().Module()); - if (CORBA::is_nil(aComp)) { - MESSAGE("Checkout: component "<(); - SimanIO_Document& aDoc = aDocIter.Document(); - SimanIO_Document::FilesIterator aFileIter(aDoc); - for(; aFileIter.More(); aFileIter.Next()) { - if (aFileIter.GetProcessing() == FILE_IMPORT) { - // files provided by SIMAN will be removed later, on study close - Engines::DataContainer_var aData = (new Engines_DataContainer_i( - aFileIter.URL(), aDoc.Name(), "", false))->_this(); - Engines::ListOfOptions anEmptyOpts; - Engines::ListOfIdentifiers_var anIds = aComp->importData(_study->StudyId(), aData, anEmptyOpts); - for(int anIdNum = 0; anIdNum < anIds->length(); anIdNum++) { - const char* anId = anIds[anIdNum]; - _filesId[aDocIter.DocId()][anId] = aFileIter.Id(); - } - } else { - MESSAGE("!!! File just downloaded, not imported:"<GetProperties()->SetLocked(true); -#endif - } -} - -//============================================================================ -/*! Function : CheckIn - * Purpose : Get data from SIMAN study and stores to SIMAN - */ -//============================================================================ -void SALOMEDS_SimanStudy_i::CheckIn(const char* theModuleName) -{ - if (_study) { -#ifdef WITH_SIMANIO - std::string aModuleName(theModuleName); - SimanIO_Link aLink(_studyId.c_str(), _scenarioId.c_str(), _userId.c_str()); - if (aLink.IsConnected()) { - // Set "C" locale temporarily to avoid possible localization problems - Kernel_Utils::Localizer loc; - SimanIO_Configuration aToStore; // here create and store data in this configuration to check in to SIMAN - std::string aTmpDir = SALOMEDS_Tool::GetTmpDir(); // temporary directory for checked in files - int aFileIndex = 0; // for unique file name generation - std::list aTemporaryFileNames; - SimanIO_Configuration::ActivitiesIterator actIter(*_checkedOut); - for(; actIter.More(); actIter.Next()) { - int aDocId = actIter.Activity().DocumentMaxID(); - //if (aDocId < 0) continue; // no documents => no check in - if (!aModuleName.empty() && aModuleName != actIter.Activity().Module()) { - continue; - } - Engines::EngineComponent_var aComp = - SALOME_LifeCycleCORBA(_name_service).FindOrLoad_Component("FactoryServer", actIter.Activity().Module()); - if (CORBA::is_nil(aComp)) { - MESSAGE("Checkin: component "<getModifiedData(_study->StudyId()); - int aNumData = aList->length(); - for(int aDataIndex = 0; aDataIndex < aNumData; aDataIndex++) { - Engines::DataContainer_var aData = aList[aDataIndex]; - // store this in the configuration - SimanIO_Activity& aStoreActivity = aToStore.GetOrCreateActivity(actIter.ActivityId()); - aStoreActivity.SetName(actIter.Activity().Name()); - aStoreActivity.SetModule(actIter.Activity().Module()); - SimanIO_Document& aStoreDoc = aStoreActivity.GetOrCreateDocument(aDocId); - aStoreDoc.SetName(aDoc.Name()); - // prepare a file to store - SimanIO_File aStoreFile; - - std::stringstream aNumStore; - aNumStore<<"file"<<(++aFileIndex); - std::string aFileName(aNumStore.str()); - std::string anExtension(aData->extension()); - aFileName += "." + anExtension; - std::string aFullPath = aTmpDir + aFileName; - Engines::TMPFile* aFileStream = aData->get(); - const char *aBuffer = (const char*)aFileStream->NP_data(); -#ifdef WIN32 - std::ofstream aFile(aFullPath.c_str(), std::ios::binary); -#else - std::ofstream aFile(aFullPath.c_str()); -#endif - aFile.write(aBuffer, aFileStream->length()); - aFile.close(); - aTemporaryFileNames.push_back(aFileName); - - aStoreFile.url = aFullPath; - if (_filesId[aDocId].find(aData->identifier()) != _filesId[aDocId].end()) { // file is already exists - aStoreFile.id = _filesId[aDocId][aData->identifier()]; - aStoreFile.result = aDoc.File(aStoreFile.id).result; - } else { - aStoreFile.id = -1; // to be created as new - aStoreFile.result = true; // new is always result - } - - aStoreDoc.AddFile(aStoreFile); - } - } - } - aLink.StoreConf(aToStore); - // after files have been stored, remove them from the temporary directory - SALOMEDS::ListOfFileNames aTmpFiles; - aTmpFiles.length(aTemporaryFileNames.size()); - std::list::const_iterator aFilesIter = aTemporaryFileNames.begin(); - for(int a = 0; aFilesIter != aTemporaryFileNames.end(); aFilesIter++, a++) { - aTmpFiles[a] = aFilesIter->c_str(); - } - SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir, aTmpFiles, true); - } else { - MESSAGE("There is no connection to SIMAN!") - } -#endif - } -} - -//============================================================================ -/*! Function : getReferencedStudy - * Purpose : Returns the %Study with checked out data - */ -//============================================================================ -SALOMEDS::Study_ptr SALOMEDS_SimanStudy_i::getReferencedStudy() -{ - SALOMEDS::Study_var aStudy = (new SALOMEDS_Study_i(_study, _orb))->_this(); - return aStudy._retn(); -} - -//============================================================================ -/*! Function : StudyId - * Purpose : The ID of the study in SIMAN server - */ -//============================================================================ -char* SALOMEDS_SimanStudy_i::StudyId() -{ - return CORBA::string_dup(_studyId.c_str()); -} - -//============================================================================ -/*! Function : StudyId - * Purpose : The ID of the study in SIMAN server - */ -//============================================================================ -void SALOMEDS_SimanStudy_i::StudyId(const char* theId) -{ - _studyId = theId; -} - -//============================================================================ -/*! Function : ScenarioId - * Purpose : The ID of the scenario in SIMAN server - */ -//============================================================================ -char* SALOMEDS_SimanStudy_i::ScenarioId() -{ - return CORBA::string_dup(_scenarioId.c_str()); -} - -//============================================================================ -/*! Function : ScenarioId - * Purpose : The ID of the scenario in SIMAN server - */ -//============================================================================ -void SALOMEDS_SimanStudy_i::ScenarioId(const char* theId) -{ - _scenarioId = theId; -} - -//============================================================================ -/*! Function : UserId - * Purpose : The ID of the user in SIMAN server - */ -//============================================================================ -char* SALOMEDS_SimanStudy_i::UserId() -{ - return CORBA::string_dup(_userId.c_str()); -} - -//============================================================================ -/*! Function : UserId - * Purpose : The ID of the user in SIMAN server - */ -//============================================================================ -void SALOMEDS_SimanStudy_i::UserId(const char* theId) -{ - _userId = theId; -} - -SALOMEDS_SimanStudy_i* SALOMEDS_SimanStudy_i::GetSimanServant(CORBA::ORB_ptr orb) -{ - static SALOMEDS_SimanStudy_i* aServant = 0; - if (aServant == 0) { - aServant = new SALOMEDS_SimanStudy_i(orb); - } - return aServant; -} - -/// PRIVATE FUNCTIONS -/* -CORBA::LongLong SALOMEDS_SimanStudy_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal) -{ -#ifdef WIN32 - long pid = (long)_getpid(); -#else - long pid = (long)getpid(); -#endif - isLocal = (strcmp(theHostname, Kernel_Utils::GetHostname().c_str()) == 0 && pid == thePID)?1:0; - return reinterpret_cast(_impl); -} -*/ diff --git a/src/SALOMEDS/SALOMEDS_SimanStudy_i.hxx b/src/SALOMEDS/SALOMEDS_SimanStudy_i.hxx deleted file mode 100644 index cf0788c27..000000000 --- a/src/SALOMEDS/SALOMEDS_SimanStudy_i.hxx +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -// File : SALOMEDS_SimanStudy_i.hxx -// Author : Mikhail PONIKAROV -// Module : SALOME -// -#ifndef __SALOMEDS_SIMANSTUDY_I_H__ -#define __SALOMEDS_SIMANSTUDY_I_H__ - -// IDL headers -#include -#include CORBA_SERVER_HEADER(SALOMEDS) - -//SALOMEDS headers -#include "SALOMEDS_Study_i.hxx" - -class SimanIO_Configuration; -class SALOME_NamingService; - -class Standard_EXPORT SALOMEDS_SimanStudy_i: public POA_SALOMEDS::SimanStudy -{ -private: - CORBA::ORB_var _orb; - SALOME_NamingService* _name_service; - //SALOMEDSImpl_SimanStudy* _impl; - SALOMEDSImpl_Study* _study; - - std::string _studyId; // SIMAN ID - std::string _scenarioId; // SIMAN ID - std::string _userId; // SIMAN ID - - SimanIO_Configuration* _checkedOut; // pointer to information about checked out data std::map > _filesId; // map from document id to component identifiers to SIMAN file ID - std::map > _filesId; // map from document id to component identifiers to SIMAN file ID - -public: - - //! constructor create global Siman stduy (is called in StudyManager only) - SALOMEDS_SimanStudy_i(/*SALOMEDSImpl_SimanStudy*,*/ CORBA::ORB_ptr); - - //! standard destructor - virtual ~SALOMEDS_SimanStudy_i(); - - /*! \brief Get data from SIMAN and put it to the given study - - This method is called for just created study to make it referenced - by this Siman study. Also it fills this study by the checked out - data from SIMAN server. - Warning: StudyID, ScenarioID and User Id must be set before calling of this method! - - \param theTarget referenced study for checking out - */ - virtual void CheckOut(SALOMEDS::Study_ptr theTarget); - - /*! \brief Get data from all modules and calls the corresponding SimanIO methods to store it. - - It works only with already checked out study - */ - virtual void CheckIn(const char* themoduleName); - - /*! \brief Returns the %Study with checked out data - - If study is null, there is no such study in this application instance, or Salome was - launched without siman option. - */ - virtual SALOMEDS::Study_ptr getReferencedStudy(); - - /*! \brief The ID of the study in SIMAN server - - Returns the Id of SIMAN study, used for CheckOut before. - */ - virtual char* StudyId(); - - /*! \brief The ID of the study in SIMAN server - - Defines the Id of SIMAN study, used for CheckOut after. - */ - virtual void StudyId(const char* theId); - - /*! \brief The ID of the scenario in SIMAN server - - Returns the Id of SIMAN scenario, used for CheckOut before. - */ - virtual char* ScenarioId(); - - /*! \brief The ID of the scenario in SIMAN server - - Defines the Id of SIMAN scenario, used for CheckOut after. - */ - virtual void ScenarioId(const char* theId); - - /*! \brief The ID of the user in SIMAN server - - Returns the Id of SIMAN user, used for CheckOut before. - */ - virtual char* UserId(); - - /*! \brief The ID of the user in SIMAN server - - Defines the Id of SIMAN user, used for CheckOut after. - */ - virtual void UserId(const char* theId); - - //virtual CORBA::LongLong GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal); - - static SALOMEDS_SimanStudy_i* GetSimanServant(CORBA::ORB_ptr orb); -}; -#endif diff --git a/src/SALOMEDS/SALOMEDS_StudyManager.cxx b/src/SALOMEDS/SALOMEDS_StudyManager.cxx index 8d3e4755b..92645b44f 100644 --- a/src/SALOMEDS/SALOMEDS_StudyManager.cxx +++ b/src/SALOMEDS/SALOMEDS_StudyManager.cxx @@ -30,13 +30,12 @@ #include "SALOMEDS_Study.hxx" #include "SALOMEDS_SObject.hxx" #include "SALOMEDS_Driver_i.hxx" -#include "SALOMEDS_SimanStudy.hxx" #include "SALOMEDSImpl_Study.hxx" -#include "Utils_ORB_INIT.hxx" +#include "Utils_ORB_INIT.hxx" #include "Utils_SINGLETON.hxx" -#include "utilities.h" +#include "utilities.h" #include "Basics_Utils.hxx" @@ -56,7 +55,7 @@ SALOMEDS_StudyManager::SALOMEDS_StudyManager(SALOMEDS::StudyManager_ptr theManag long pid = (long)_getpid(); #else long pid = (long)getpid(); -#endif +#endif CORBA::LongLong addr = theManager->GetLocalImpl(Kernel_Utils::GetHostname().c_str(), pid, _isLocal); if(_isLocal) { @@ -84,7 +83,7 @@ SALOMEDS_StudyManager::SALOMEDS_StudyManager() long pid = (long)_getpid(); #else long pid = (long)getpid(); -#endif +#endif CORBA::LongLong addr = theManager->GetLocalImpl(Kernel_Utils::GetHostname().c_str(), pid, _isLocal); if(_isLocal) { @@ -103,7 +102,7 @@ SALOMEDS_StudyManager::~SALOMEDS_StudyManager() _PTR(Study) SALOMEDS_StudyManager::NewStudy(const std::string& study_name) { - //SRN: Pure CORBA NewStudy as it does more initialization than the local one + //SRN: Pure CORBA NewStudy as it does more initialization than the local one SALOMEDSClient_Study* aStudy = NULL; SALOMEDS::Study_var aStudy_impl = _corba_impl->NewStudy((char*)study_name.c_str()); @@ -115,48 +114,48 @@ _PTR(Study) SALOMEDS_StudyManager::NewStudy(const std::string& study_name) _PTR(Study) SALOMEDS_StudyManager::Open(const std::string& theStudyUrl) { - //SRN: Pure CORBA Open as it does more initialization than the local one + //SRN: Pure CORBA Open as it does more initialization than the local one SALOMEDSClient_Study* aStudy = NULL; SALOMEDS::Study_var aStudy_impl = _corba_impl->Open((char*)theStudyUrl.c_str()); if(CORBA::is_nil(aStudy_impl)) return _PTR(Study)(aStudy); - + aStudy = new SALOMEDS_Study(aStudy_impl.in()); return _PTR(Study)(aStudy); } - + void SALOMEDS_StudyManager::Close(const _PTR(Study)& theStudy) { //SRN: Pure CORBA close as it does more cleaning than the local one SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); _corba_impl->Close(aStudy); } - + bool SALOMEDS_StudyManager::Save(const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->Save(aStudy, theMultiFile); } - + bool SALOMEDS_StudyManager::SaveASCII(const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->SaveASCII(aStudy, theMultiFile); } - + bool SALOMEDS_StudyManager::SaveAs(const std::string& theUrl, const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->SaveAs((char*)theUrl.c_str(), aStudy, theMultiFile); } - + bool SALOMEDS_StudyManager::SaveAsASCII(const std::string& theUrl, const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->SaveAsASCII((char*)theUrl.c_str(), aStudy, theMultiFile); } @@ -171,19 +170,19 @@ std::vector SALOMEDS_StudyManager::GetOpenStudies() std::vector aSeq = _local_impl->GetOpenStudies(); aLength = aSeq.size(); - for(i = 0; i < aLength; i++) + for(i = 0; i < aLength; i++) aVector.push_back(aSeq[i]->Name()); } else { SALOMEDS::ListOfOpenStudies_var aSeq = _corba_impl->GetOpenStudies(); aLength = aSeq->length(); - for(i = 0; i < aLength; i++) + for(i = 0; i < aLength; i++) aVector.push_back(aSeq[i].in()); } return aVector; } -_PTR(Study) SALOMEDS_StudyManager::GetStudyByName(const std::string& theStudyName) +_PTR(Study) SALOMEDS_StudyManager::GetStudyByName(const std::string& theStudyName) { SALOMEDSClient_Study* aStudy = NULL; if (_isLocal) { @@ -201,7 +200,7 @@ _PTR(Study) SALOMEDS_StudyManager::GetStudyByName(const std::string& theStudyNam return _PTR(Study)(aStudy); } -_PTR(Study) SALOMEDS_StudyManager::GetStudyByID(int theStudyID) +_PTR(Study) SALOMEDS_StudyManager::GetStudyByID(int theStudyID) { SALOMEDSClient_Study* aStudy = NULL; if (_isLocal) { @@ -211,7 +210,7 @@ _PTR(Study) SALOMEDS_StudyManager::GetStudyByID(int theStudyID) if(!aStudy_impl) return _PTR(Study)(aStudy); aStudy = new SALOMEDS_Study(aStudy_impl); } - else { + else { SALOMEDS::Study_var aStudy_impl = _corba_impl->GetStudyByID(theStudyID); if(CORBA::is_nil(aStudy_impl)) return _PTR(Study)(aStudy); aStudy = new SALOMEDS_Study(aStudy_impl); @@ -312,7 +311,7 @@ void SALOMEDS_StudyManager::init_orb() SALOMEDS_Driver_i* GetDriver(const SALOMEDSImpl_SObject& theObject, CORBA::ORB_ptr orb) { SALOMEDS_Driver_i* driver = NULL; - + SALOMEDSImpl_SComponent aSCO = theObject.GetFatherComponent(); if(!aSCO.IsNull()) { std::string IOREngine = aSCO.GetIOR(); @@ -325,24 +324,3 @@ SALOMEDS_Driver_i* GetDriver(const SALOMEDSImpl_SObject& theObject, CORBA::ORB_p return driver; } - -_PTR(SimanStudy) SALOMEDS_StudyManager::GetSimanStudy() -{ - SALOMEDSClient_SimanStudy* aSiman = NULL; - /*if (_isLocal) { - SALOMEDS::Locker lock; - - SALOMEDSImpl_SimanStudy* aSiman_impl = _local_impl->GetSimanStudy(); - if(!aSiman_impl) return _PTR(SimanStudy)(aSiman); - aSiman = new SALOMEDS_SimanStudy(aSiman_impl); - } - else { - SALOMEDS::SimanStudy_var aSiman_impl = _corba_impl->GetSimanStudy(); - if(CORBA::is_nil(aSiman_impl)) return _PTR(SimanStudy)(aSiman); - aSiman = new SALOMEDS_SimanStudy(aSiman_impl); - }*/ - SALOMEDS::SimanStudy_var aSiman_impl = _corba_impl->GetSimanStudy(); - if(CORBA::is_nil(aSiman_impl)) return _PTR(SimanStudy)(aSiman); - aSiman = new SALOMEDS_SimanStudy(aSiman_impl); - return _PTR(SimanStudy)(aSiman); -} diff --git a/src/SALOMEDS/SALOMEDS_StudyManager.hxx b/src/SALOMEDS/SALOMEDS_StudyManager.hxx index 9ca14c595..4a25b7a7b 100644 --- a/src/SALOMEDS/SALOMEDS_StudyManager.hxx +++ b/src/SALOMEDS/SALOMEDS_StudyManager.hxx @@ -43,7 +43,7 @@ class Standard_EXPORT SALOMEDS_StudyManager: public SALOMEDSClient_StudyManager private: bool _isLocal; SALOMEDSImpl_StudyManager* _local_impl; - SALOMEDS::StudyManager_var _corba_impl; + SALOMEDS::StudyManager_var _corba_impl; CORBA::ORB_var _orb; public: @@ -65,11 +65,10 @@ public: virtual bool CanCopy(const _PTR(SObject)& theSO); virtual bool Copy(const _PTR(SObject)& theSO); virtual bool CanPaste(const _PTR(SObject)& theSO); - virtual _PTR(SObject) Paste(const _PTR(SObject)& theSO); - virtual _PTR(SimanStudy) GetSimanStudy(); + virtual _PTR(SObject) Paste(const _PTR(SObject)& theSO); private: void init_orb(); }; -#endif +#endif diff --git a/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx b/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx index e2c39a1c2..905180de7 100644 --- a/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx +++ b/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx @@ -30,7 +30,6 @@ #include "SALOMEDS_Study_i.hxx" #include "SALOMEDS_SComponent_i.hxx" #include "SALOMEDS_Driver_i.hxx" -#include "SALOMEDS_SimanStudy_i.hxx" #include "SALOMEDS.hxx" #include "SALOMEDSImpl_Study.hxx" @@ -90,7 +89,6 @@ SALOMEDS_StudyManager_i::~SALOMEDS_StudyManager_i() delete _name_service; delete _factory; delete _impl; - delete SALOMEDS_SimanStudy_i::GetSimanServant(_orb); } //============================================================================ @@ -490,7 +488,7 @@ PortableServer::POA_ptr SALOMEDS_StudyManager_i::GetPOA(const SALOMEDS::Study_pt } CORBA::Long SALOMEDS_StudyManager_i::getPID() -{ +{ #ifdef WIN32 return (CORBA::Long)_getpid(); #else @@ -503,19 +501,6 @@ void SALOMEDS_StudyManager_i::ShutdownWithExit() exit( EXIT_SUCCESS ); } -//============================================================================ -/*! Function : GetSimanStudy - * Purpose : Retruns the created or cashed SimanStudy - */ -//============================================================================ -SALOMEDS::SimanStudy_ptr SALOMEDS_StudyManager_i::GetSimanStudy() -{ - SALOMEDS::Locker lock; - - SALOMEDS_SimanStudy_i* aSiman_servant = SALOMEDS_SimanStudy_i::GetSimanServant(_orb); - return aSiman_servant->_this(); -} - //=========================================================================== // PRIVATE FUNCTIONS //=========================================================================== diff --git a/src/SALOMEDS/SALOMEDS_StudyManager_i.hxx b/src/SALOMEDS/SALOMEDS_StudyManager_i.hxx index ef8d610a7..d5032bcbc 100644 --- a/src/SALOMEDS/SALOMEDS_StudyManager_i.hxx +++ b/src/SALOMEDS/SALOMEDS_StudyManager_i.hxx @@ -51,7 +51,7 @@ namespace SALOMEDS{ // To convert CORBA::Object to PortableServer::ServantBase PortableServer::ServantBase_var GetServant(CORBA::Object_ptr, PortableServer::POA_ptr); -} +} class Standard_EXPORT SALOMEDS_StudyManager_i: public POA_SALOMEDS::StudyManager { @@ -59,9 +59,9 @@ private: CORBA::ORB_var _orb; PortableServer::POA_var _poa; - SALOMEDSImpl_StudyManager* _impl; + SALOMEDSImpl_StudyManager* _impl; SALOME_NamingService* _name_service; - SALOMEDS_DriverFactory_i* _factory; + SALOMEDS_DriverFactory_i* _factory; public: @@ -69,36 +69,36 @@ public: SALOMEDS_StudyManager_i(CORBA::ORB_ptr orb, PortableServer::POA_ptr thePOA); //! standard destructor - virtual ~SALOMEDS_StudyManager_i(); + virtual ~SALOMEDS_StudyManager_i(); //! method to Register study Manager in the naming service /*! \param char* arguments, the context to register the study manager in the NS - */ + */ void register_name(const char * name); - + //! method to Create a New Study of name study_name /*! \param char* arguments, the new study name \return Study_ptr arguments - */ + */ virtual SALOMEDS::Study_ptr NewStudy(const char* study_name) throw (SALOME::SALOME_Exception); //! method to Open a Study from it's persistent reference /*! \param char* arguments, the study URL \return Study_ptr arguments - */ + */ virtual SALOMEDS::Study_ptr Open(const char* aStudyUrl) throw (SALOME::SALOME_Exception); - //! method to close a Study + //! method to close a Study /*! \param Study_ptr arguments - */ + */ virtual void Close( SALOMEDS::Study_ptr aStudy); - //! method to save a Study + //! method to save a Study /*! \param Study_ptr arguments */ @@ -124,24 +124,24 @@ public: /*! \param char* arguments, the study name \return Study_ptr arguments - */ + */ virtual SALOMEDS::Study_ptr GetStudyByName(const char* aStudyName) ; //! method to get a Study from it's ID /*! \param char* arguments, the study ID \return Study_ptr arguments - */ + */ virtual SALOMEDS::Study_ptr GetStudyByID(CORBA::Short aStudyID) ; - + virtual CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject); virtual CORBA::Boolean Copy(SALOMEDS::SObject_ptr theObject); virtual CORBA::Boolean CanPaste(SALOMEDS::SObject_ptr theObject); virtual SALOMEDS::SObject_ptr Paste(SALOMEDS::SObject_ptr theObject) throw(SALOMEDS::StudyBuilder::LockProtection); virtual char* ConvertObjectToIOR(CORBA::Object_ptr theObject) {return _orb->object_to_string(theObject); } - virtual CORBA::Object_ptr ConvertIORToObject(const char* theIOR) { return _orb->string_to_object(theIOR); }; - + virtual CORBA::Object_ptr ConvertIORToObject(const char* theIOR) { return _orb->string_to_object(theIOR); }; + void ping(){}; CORBA::Long getPID(); void ShutdownWithExit(); @@ -151,8 +151,6 @@ public: static PortableServer::POA_ptr GetPOA(const SALOMEDS::Study_ptr theStudy); void Shutdown() { if(!CORBA::is_nil(_orb)) _orb->shutdown(0); } - - virtual SALOMEDS::SimanStudy_ptr GetSimanStudy(); }; -#endif +#endif diff --git a/src/SALOMEDSClient/SALOMEDSClient.hxx b/src/SALOMEDSClient/SALOMEDSClient.hxx index eb1b8f7bc..6c12fc627 100644 --- a/src/SALOMEDSClient/SALOMEDSClient.hxx +++ b/src/SALOMEDSClient/SALOMEDSClient.hxx @@ -58,7 +58,6 @@ #include "SALOMEDSClient_GenericAttribute.hxx" #include "SALOMEDSClient_SComponent.hxx" #include "SALOMEDSClient_SComponentIterator.hxx" -#include "SALOMEDSClient_SimanStudy.hxx" #include "SALOMEDSClient_SObject.hxx" #include "SALOMEDSClient_Study.hxx" #include "SALOMEDSClient_StudyBuilder.hxx" diff --git a/src/SALOMEDSClient/SALOMEDSClient_SimanStudy.hxx b/src/SALOMEDSClient/SALOMEDSClient_SimanStudy.hxx deleted file mode 100644 index f579a50cc..000000000 --- a/src/SALOMEDSClient/SALOMEDSClient_SimanStudy.hxx +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -// File : SALOMEDSClient_SimanStudy.hxx -// Author : Mikhail PONIKAROV -// Module : SALOME -// -#ifndef __SALOMEDSClient_SIMANSTUDY_H__ -#define __SALOMEDSClient_SIMANSTUDY_H__ - -#include -#include - -#include "SALOMEDSClient_definitions.hxx" -#include "SALOMEDSClient_Study.hxx" -#include -#include CORBA_CLIENT_HEADER(SALOMEDS) - -class SALOMEDSClient_SimanStudy -{ - -public: - virtual ~SALOMEDSClient_SimanStudy() {} - - virtual void CheckOut(const _PTR(Study) theTarget) = 0; - virtual void CheckIn(const std::string theModuleName) = 0; - virtual _PTR(Study) getReferencedStudy() = 0; - virtual std::string StudyId() = 0; - virtual void StudyId(const std::string theId) = 0; - virtual std::string ScenarioId() = 0; - virtual void ScenarioId(const std::string theId) = 0; - virtual std::string UserId() = 0; - virtual void UserId(const std::string theId) = 0; -}; - -#endif diff --git a/src/SALOMEDSClient/SALOMEDSClient_StudyManager.hxx b/src/SALOMEDSClient/SALOMEDSClient_StudyManager.hxx index d60ab31f1..98ef3e0e4 100644 --- a/src/SALOMEDSClient/SALOMEDSClient_StudyManager.hxx +++ b/src/SALOMEDSClient/SALOMEDSClient_StudyManager.hxx @@ -32,7 +32,6 @@ #include "SALOMEDSClient_definitions.hxx" #include "SALOMEDSClient_Study.hxx" -#include "SALOMEDSClient_SimanStudy.hxx" class SALOMEDSClient_StudyManager { @@ -53,7 +52,6 @@ public: virtual bool Copy(const _PTR(SObject)& theSO) = 0; virtual bool CanPaste(const _PTR(SObject)& theSO) = 0; virtual _PTR(SObject) Paste(const _PTR(SObject)& theSO) = 0; - virtual _PTR(SimanStudy) GetSimanStudy() = 0; }; -#endif +#endif -- 2.39.2