]> SALOME platform Git repositories - modules/kernel.git/blob - src/DSC/DSC_Python/dsccalcium.py
Salome HOME
To avoid compilation pb on RedHat 8.0.
[modules/kernel.git] / src / DSC / DSC_Python / dsccalcium.py
1 import calcium
2 import SALOME_ComponentPy
3 import SALOME_DriverPy
4 import Engines
5
6 class PyDSCComponent(SALOME_ComponentPy.SALOME_ComponentPy_i,
7                      SALOME_DriverPy.SALOME_DriverPy_i):
8   """
9      A Python SALOME component is implemented by a Python class that has
10      the name of the component and is located in a python module that has the
11      name of the component.
12
13      This class is a base class for Python DSC components.
14
15      You must derive it and implement init_service and those methods
16      that are services of the component.
17   """
18   def __init__ ( self, orb, poa, contID, containerName, instanceName, interfaceName ):
19     SALOME_ComponentPy.SALOME_ComponentPy_i.__init__(self, orb, poa,
20                     contID, containerName, instanceName, interfaceName, 0)
21     SALOME_DriverPy.SALOME_DriverPy_i.__init__(self, interfaceName)
22     # create the DSC proxy
23     self.proxy=calcium.PySupervCompo(orb,poa,contID,instanceName,interfaceName )
24     # Store a reference on naming service in _naming_service attribute 
25     self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb )
26
27   def init_service(self,service):
28     return True
29
30   enums={Engines.DSC.RemovingConnection:calcium.DSC.RemovingConnection,
31          Engines.DSC.AddingConnection:calcium.DSC.AddingConnection,
32          Engines.DSC.ApplicationError:calcium.DSC.ApplicationError,
33         }
34   def get_provides_port(self,name,error):
35     return self.proxy.get_provides_port(name,error)
36
37   def connect_uses_port(self,name,port):
38     self.proxy.connect_uses_port(name,port)
39
40   def connect_provides_port(self,name):
41     self.proxy.connect_provides_port(name)
42
43   def disconnect_provides_port(self,name,message):
44     self.proxy.disconnect_provides_port(name,message._v)
45     #self.proxy.disconnect_provides_port(name,self.enums[message])
46
47   def disconnect_uses_port(self,name,port,message):
48     self.proxy.disconnect_uses_port(name,port,message._v)
49     #self.proxy.disconnect_uses_port(name,port,self.enums[message])
50
51   def get_port_properties(self,name):
52     return self.proxy.get_port_properties(name)
53