Salome HOME
c06cba1b6d326580c2b5f7d7ad06a562b02488bd
[modules/kernel.git] / src / KERNEL_PY / kernel_shared_modules.py
1 # Copyright (C) 2005  OPEN CASCADE, CEA, EDF R&D, LEG
2 #           PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either 
6 # version 2.1 of the License.
7
8 # This library is distributed in the hope that it will be useful 
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
11 # Lesser General Public License for more details.
12
13 # You should have received a copy of the GNU Lesser General Public  
14 # License along with this library; if not, write to the Free Software 
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
19 """
20
21 """
22 import import_hook
23
24 import glob,os,sys,string,imp
25
26 from import_hook import register_name
27 from import_hook import register_pattern
28
29 register_name("qt")
30 register_name("libSALOME_LifeCycleCORBA")
31 register_pattern(lambda(x):x.endswith("_idl"))
32 register_pattern(lambda(x):x.endswith("_Swig"))
33
34 register_name("CORBA")
35 from omniORB import CORBA
36
37 register_name("omniORB")
38 import omniORB
39
40 register_name("CosNaming")
41 import CosNaming
42
43 register_name("omnipatch")
44 import omnipatch
45
46 import Engines
47 import SALOME
48 import SALOMEDS
49 import SALOME_ModuleCatalog
50
51 def init_shared_modules():
52    """
53       This function initializes shared modules that need to be
54    """
55    # EDF-CCAR:
56    # Problem with omniORB : omniORB creates a C Python module named  _omnipy
57    # this module has sub-modules : omni_func, ...
58    # _omnipy is quite a package but import with Python sub-interpreters does not seem to work
59    # To make it work we need to add those sub-modules in sys.modules
60    import sys
61    import _omnipy
62    sys.modules["_omnipy.omni_func"]=_omnipy.omni_func
63    sys.modules["_omnipy.poa_func"]=_omnipy.poa_func
64    sys.modules["_omnipy.poamanager_func"]=_omnipy.poamanager_func
65    sys.modules["_omnipy.orb_func"]=_omnipy.orb_func
66