X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FKERNEL_PY%2F__init__.py;h=5c0900e62689a9a8faecc18f3c7453475faacbfa;hb=f4fd1701433a617d0a8789cf5e90c78029842d4c;hp=ef18851c85aa97819b3b66d2dd0a83447d38e8fb;hpb=31f02551b4346e45211f095a2135c61f46b0fcbd;p=modules%2Fkernel.git diff --git a/src/KERNEL_PY/__init__.py b/src/KERNEL_PY/__init__.py index ef18851c8..5c0900e62 100644 --- a/src/KERNEL_PY/__init__.py +++ b/src/KERNEL_PY/__init__.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2021 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 @@ -177,9 +177,17 @@ def salome_init(path=None, embedded=False): if __EMB_SERVANT_ENV_VAR_NAME in os.environ: salome_init_without_session() else: - salome_init_with_session(path, embedded) + import KernelBasis + if KernelBasis.getSSLMode(): + salome_init_without_session() + else: + salome_init_with_session(path, embedded) class StandAloneLifecyle: + def __init__(self, containerManager, resourcesManager): + self._cm = containerManager + self._rm = resourcesManager + def FindOrLoadComponent(self,contName,moduleName): global orb import importlib @@ -189,9 +197,16 @@ class StandAloneLifecyle: return result #raise RuntimeError("Undealed situation cont = {} module = {}".format(contName,moduleName)) + def getContainerManager(self): + return self._cm + + def getResourcesManager(self): + return self._rm + def salome_init_without_session(): - global lcc,myStudy,orb,modulcat,sg - lcc = StandAloneLifecyle() + global lcc,naming_service,myStudy,orb,modulcat,sg,cm + import KernelBasis + KernelBasis.setSSLMode(True) import KernelDS myStudy = KernelDS.myStudy() import CORBA @@ -200,12 +215,17 @@ def salome_init_without_session(): import SALOME_ModuleCatalog from salome_kernel import list_of_catalogs_regarding_environement modulcat = KernelModuleCatalog.myModuleCatalog( list_of_catalogs_regarding_environement() ) + import KernelLauncher + from NamingService import NamingService + cm = KernelLauncher.myContainerManager() + lcc = StandAloneLifecyle(cm, KernelLauncher.myResourcesManager()) # activate poaManager to accept co-localized CORBA calls. poa = orb.resolve_initial_references("RootPOA") poaManager = poa._get_the_POAManager() poaManager.activate() sg = SalomeOutsideGUI() salome_study_init_without_session() + naming_service = NamingService() def salome_init_with_session(path=None, embedded=False): """ @@ -226,7 +246,8 @@ def salome_init_with_session(path=None, embedded=False): global orb, lcc, naming_service, cm, esm, dsm, modulcat global sg global myStudy, myStudyName - + import KernelBasis + KernelBasis.setSSLMode(False) try: if salome_initial: salome_initial=False @@ -261,6 +282,8 @@ def salome_close(): salome_iapp_close() salome_study_close() myStudy, myStudyName = None, None + import KernelDS + KernelDS.KillGlobalSessionInstance() pass def salome_NS():