Salome HOME
updated copyright message
[modules/gui.git] / src / PVServerService / ENGINE / PVSERVER_utils.py
1 # Copyright (C) 2015-2023  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
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, or (at your option) any later version.
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 # Author : Adrien BRUNETON (CEA)
20 #
21
22 import salome
23 from omniORB import CORBA
24 from SALOME_NamingServicePy import SALOME_NamingServicePy_i
25 import SALOMEDS
26
27 from PVServer_ServiceLoader import PVServer_ServiceLoader
28 import PVSERVER_ORB
29
30 ###
31 # Get verbose level
32 ###
33 __verbose__ = None
34 def verbose():
35     import os
36     global __verbose__
37     if __verbose__ is None:
38         try:
39             __verbose__ = int( os.getenv( 'SALOME_VERBOSE', 0 ) )
40         except:
41             __verbose__ = 0
42             pass
43         pass
44     return __verbose__
45
46 ###
47 # Get ORB reference
48 ###
49 def getORB():
50     salome.salome_init()
51     return salome.orb
52
53 ###
54 # Get PVSERVER service
55 ###
56 __service__ = None
57 __serviceLoader__ = None
58 def getService():
59     global __service__, __serviceLoader__
60     import KernelBasis
61     containerName = "FactoryServer"
62     if KernelBasis.getSSLMode():
63         if __service__ is None:
64             salome.salome_init()
65     if __serviceLoader__ is None:
66         __serviceLoader__ = PVServer_ServiceLoader()
67     if __service__ is None:
68         import PVSERVER
69         ior = __serviceLoader__.findOrLoadService(containerName)
70         obj = getORB().string_to_object( ior )
71         __service__ = obj._narrow(PVSERVER.PVSERVER)
72         pass
73     return __service__
74
75 ###
76 # Get PVSERVER engine IOR
77 ###
78 def getServiceIOR():
79     IOR = ""
80     if getORB() and getService():
81         IOR = getORB().object_to_string( getService() )
82         pass
83     return IOR