+ import os
+ if __EMB_SERVANT_ENV_VAR_NAME in os.environ:
+ salome_init_without_session()
+ else:
+ 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
+ builder_name = moduleName + "_SalomeSessionless"
+ moduleObj = importlib.import_module(builder_name)
+ result, orb = moduleObj.buildInstance(orb)
+ 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,naming_service,myStudy,orb,modulcat,sg,cm
+ import KernelBasis
+ KernelBasis.setSSLMode(True)
+ import KernelDS
+ myStudy = KernelDS.myStudy()
+ import CORBA
+ orb=CORBA.ORB_init([''])
+ import KernelModuleCatalog
+ 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):