ADD_SUBDIRECTORY(cmp)
ADD_SUBDIRECTORY(res)
-ADD_SUBDIRECTORY(swig)
IF(SALOME_BUILD_GUI)
ADD_SUBDIRECTORY(gui)
MEDFactory_i.cxx
MEDFactory_No_Session_i.cxx
MEDFactory_Session_i.cxx
- MEDFactory_Component_Generator.cxx
)
MED.cxx
MED_Session.cxx
MED_No_Session.cxx
- MED_Component_Generator.cxx
)
SET(COMMON_LIBS
#include <SALOME_KernelServices.hxx>
#include "MEDFactoryClient.hxx"
-#include "MEDFactory_Component_Generator.hxx"
namespace MEDFactoryClient {
MEDCALC::MEDFactory_ptr getFactory() {
static MEDCALC::MEDFactory_ptr engine;
if(CORBA::is_nil(engine)){
- SALOME_NamingService_Abstract *ns = KERNEL::getNamingService();
- if (dynamic_cast<SALOME_NamingService *>(ns)) {
- Engines::EngineComponent_var component =
- KERNEL::getLifeCycleCORBA()->FindOrLoad_Component( "FactoryServer","MEDFactory" );
- engine = MEDCALC::MEDFactory::_narrow(component);
- }
- else {
- Engines::EngineComponent_var component = RetrieveMEDFactoryInstance();
- CORBA::Object_var comp2 = CORBA::Object::_narrow(component);
- KERNEL::RegisterCompo("MEDFactory", comp2);
- engine = MEDCALC::MEDFactory::_narrow(component);
- }
+ Engines::EngineComponent_var component =
+ KERNEL::getLifeCycleCORBA()->FindOrLoad_Component( "FactoryServer","MEDFactory" );
+ engine = MEDCALC::MEDFactory::_narrow(component);
}
return engine;
}
+++ /dev/null
-// Copyright (C) 2021 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
-//
-
-#include "MEDFactory_Component_Generator.hxx"
-
-#include "MEDFactory_No_Session_i.hxx"
-#include "SALOME_Container_i.hxx"
-#include "SALOME_KernelServices.hxx"
-
-#include <cstring>
-
-static Engines::EngineComponent_var _unique_compo;
-
-Engines::EngineComponent_var RetrieveMEDFactoryInstance()
-{
- constexpr char COMPO_NAME[] = "MEDFactory";
- if (CORBA::is_nil(_unique_compo))
- {
- CORBA::ORB_var orb;
- {
- int argc(0);
- orb = CORBA::ORB_init(argc, nullptr);
- }
- CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
- PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
- PortableServer::POAManager_var pman = poa->the_POAManager();
- CORBA::PolicyList policies;
- policies.length(0);
- auto *cont(KERNEL::getContainerSA());
- PortableServer::ObjectId *conId(cont->getCORBAId());
- //
- pman->activate();
- //
- MEDFactory_No_Session_i *servant = new MEDFactory_No_Session_i(orb, poa, conId, "MEDFactory_inst_2", COMPO_NAME);
- PortableServer::ObjectId *zeId = servant->getId();
- CORBA::Object_var zeRef = poa->id_to_reference(*zeId);
- KERNEL::RegisterCompo(COMPO_NAME, zeRef);
- _unique_compo = Engines::EngineComponent::_narrow(zeRef);
- }
- return _unique_compo;
-}
+++ /dev/null
-// Copyright (C) 2021 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
-//
-
-#pragma once
-
-#include "MEDCALC.hxx"
-
-#include "SALOMEconfig.h"
-
-#include CORBA_SERVER_HEADER(MED_Gen)
-
-MEDCALC_EXPORT Engines::EngineComponent_var RetrieveMEDFactoryInstance();
+++ /dev/null
-// Copyright (C) 2021 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
-//
-
-#include "MED_Component_Generator.hxx"
-
-#include "MED_No_Session.hxx"
-#include "SALOME_Container_i.hxx"
-#include "SALOME_KernelServices.hxx"
-
-#include <cstring>
-
-static Engines::EngineComponent_var _unique_compo;
-
-Engines::EngineComponent_var RetrieveMEDInstance()
-{
- constexpr char COMPO_NAME[]="FIELDS";
- if (CORBA::is_nil(_unique_compo))
- {
- CORBA::ORB_var orb;
- {
- int argc(0);
- orb = CORBA::ORB_init(argc, nullptr);
- }
- CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
- PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
- PortableServer::POAManager_var pman = poa->the_POAManager();
- CORBA::PolicyList policies;
- policies.length(0);
- auto *cont(KERNEL::getContainerSA());
- PortableServer::ObjectId *conId(cont->getCORBAId());
- //
- pman->activate();
- //
- MED_No_Session *servant = new MED_No_Session(orb, poa, conId, "FIELDS_inst_2", COMPO_NAME);
- PortableServer::ObjectId *zeId = servant->getId();
- CORBA::Object_var zeRef = poa->id_to_reference(*zeId);
- KERNEL::RegisterCompo(COMPO_NAME,zeRef);
- _unique_compo = Engines::EngineComponent::_narrow(zeRef);
- }
- return _unique_compo;
-}
+++ /dev/null
-// Copyright (C) 2021 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
-//
-
-#pragma once
-
-#include "MEDCALC.hxx"
-
-#include "SALOMEconfig.h"
-
-#include CORBA_SERVER_HEADER(MED_Gen)
-
-MEDCALC_EXPORT Engines::EngineComponent_var RetrieveMEDInstance();
#include "MEDFactoryClient.hxx"
#include "MEDPresentationManager_i.hxx"
-#include "MED_Component_Generator.hxx"
#include <QTimer>
#include <sstream>
MEDModule::init()
{
// initialize FIELDS module engine (load, if necessary)
- Engines::EngineComponent_var comp;
- if ( CORBA::is_nil( _MED_engine ) ) {
- SALOME_NamingService_Abstract *ns = SalomeApp_Application::namingService();
- if( dynamic_cast<SALOME_NamingService *>(ns) )
- {
- comp = SalomeApp_Application::lcc()->FindOrLoad_Component( "FactoryServer", "FIELDS" );
- }
- else
- {
- comp = RetrieveMEDInstance();
- CORBA::Object_var comp2 = CORBA::Object::_narrow(comp);
- KERNEL::RegisterCompo("FIELDS",comp2);
- }
- _MED_engine = MED_ORB::MED_Gen::_narrow( comp );
- if (CORBA::is_nil( _MED_engine )) {
- STDLOG("Could not narrow FIELDS engine");
- }
+
+ if (CORBA::is_nil(_MED_engine)) {
+ Engines::EngineComponent_var comp =
+ SalomeApp_Application::lcc()->FindOrLoad_Component("FactoryServer", "FIELDS");
+ _MED_engine = MED_ORB::MED_Gen::_narrow(comp);
+ }
+ if (CORBA::is_nil( _MED_engine )) {
+ STDLOG("Could not narrow FIELDS engine");
}
}
+++ /dev/null
-# Copyright (C) 2012-2021 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
-#
-
-include(${SWIG_USE_FILE})
-
-include_directories(
- ${KERNEL_INCLUDE_DIRS}
- ${PROJECT_BINARY_DIR}/idl
- ${PROJECT_SOURCE_DIR}/src/MEDCalc/cmp
-)
-
-SET(_bin_SCRIPTS
- FIELDS_SalomeSessionless.py
- MEDFactory_SalomeSessionless.py
-)
-
-# additional preprocessor / compiler flags
-ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} )
-
-# SWIG wrapping
-SET(MedHelper_HEADERS MedHelper.h MedHelper.i)
-SET(MedHelper_SOURCES MedHelper.cxx ${MedHelper_HEADERS})
-SET_SOURCE_FILES_PROPERTIES(MedHelper.i PROPERTIES CPLUSPLUS ON)
-SET_SOURCE_FILES_PROPERTIES(MedHelper.i PROPERTIES SWIG_FLAGS "-py3")
-SET_SOURCE_FILES_PROPERTIES(MedHelper_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
-SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/MedHelper.py)
-IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
- SWIG_ADD_MODULE(MedHelper python ${MedHelper_SOURCES})
-ELSE()
- SWIG_ADD_LIBRARY(MedHelper LANGUAGE python SOURCES ${MedHelper_SOURCES})
-ENDIF()
-SWIG_LINK_LIBRARIES(MedHelper ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} FIELDSEngine MEDEngineCommon ${KERNEL_SalomeKernelHelpers} ${KERNEL_SalomeDS} )
-SWIG_CHECK_GENERATION(MedHelper)
-IF(WIN32)
- SET_TARGET_PROPERTIES(_MedHelper PROPERTIES DEBUG_OUTPUT_NAME _MedHelper_d)
-ENDIF(WIN32)
-install(TARGETS _MedHelper DESTINATION ${SALOME_INSTALL_LIBS})
-install(FILES ${MedHelper_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
-SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}" ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_MedHelper_REAL_NAME}")
-
-SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_PYTHON} DEF_PERMS)
+++ /dev/null
-# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2021 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
-#
-
-def buildInstance(orb):
- import MedHelper
- med_ior = MedHelper.BuildMEDInstance()
- import MED_ORB
- import CORBA
- orb=CORBA.ORB_init([''])
- med = orb.string_to_object(med_ior)
- return med, orb
+++ /dev/null
-# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2021 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
-#
-
-def buildInstance(orb):
- import MedHelper
- med_field_ior = MedHelper.BuildMEDFactoryInstance()
- import MEDCALC
- import CORBA
- orb=CORBA.ORB_init([''])
- med_factory = orb.string_to_object(med_field_ior)
- return med_factory, orb
+++ /dev/null
-// Copyright (C) 2021 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
-//
-
-#include "MedHelper.h"
-
-#include "SALOME_KernelServices.hxx"
-
-#include "MED_Component_Generator.hxx"
-#include "MEDFactory_Component_Generator.hxx"
-
-std::string BuildMEDInstance()
-{
- Engines::EngineComponent_var zeRef = RetrieveMEDInstance();
- CORBA::String_var ior = KERNEL::getORB()->object_to_string(zeRef);
- return std::string(ior.in());
-}
-
-std::string BuildMEDFactoryInstance()
-{
- Engines::EngineComponent_var zeRef = RetrieveMEDFactoryInstance();
- CORBA::String_var ior = KERNEL::getORB()->object_to_string(zeRef);
- return std::string(ior.in());
-}
-
+++ /dev/null
-// Copyright (C) 2021 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
-//
-
-#include <string>
-
-std::string BuildMEDInstance();
-std::string BuildMEDFactoryInstance();
+++ /dev/null
-// Copyright (C) 2021 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
-//
-
-%module MedHelper
-
-%include "std_string.i"
-
-%inline
-{
- std::string BuildMEDInstance();
- std::string BuildMEDFactoryInstance();
-}