2 import SALOME_ComponentPy
6 class PyDSCComponent(SALOME_ComponentPy.SALOME_ComponentPy_i,
7 SALOME_DriverPy.SALOME_DriverPy_i):
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.
13 This class is a base class for Python DSC components.
15 You must derive it and implement init_service and those methods
16 that are services of the component.
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 )
27 def init_service(self,service):
30 enums={Engines.DSC.RemovingConnection:calcium.DSC.RemovingConnection,
31 Engines.DSC.AddingConnection:calcium.DSC.AddingConnection,
32 Engines.DSC.ApplicationError:calcium.DSC.ApplicationError,
34 def get_provides_port(self,name,error):
35 return self.proxy.get_provides_port(name,error)
37 def connect_uses_port(self,name,port):
38 self.proxy.connect_uses_port(name,port)
40 def connect_provides_port(self,name):
41 self.proxy.connect_provides_port(name)
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])
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])
51 def get_port_properties(self,name):
52 return self.proxy.get_port_properties(name)