def _addInterface(self, repid): for inf in self.scd.interfaces.get_interface(): if inf.repid == repid: return idl = IDLInterface(repid) interface = scd.interface(repid=idl.repid(), name=idl.interface()) self.scd.interfaces.add_interface(interface) for parent in idl.idl().inherits: self._addInterface(parent) inherits = scd.inheritsInterface(repid=parent) interface.add_inheritsinterface(inherits)
def setComponentRepid(self, repid): self.scd.get_componentrepid().set_repid(repid) self._addInterface(repid) supportsinterface = [] idl = IDLInterface(repid) supports = scd.supportsInterface(repid=idl.repid(), supportsname=idl.interface()) supportsinterface.append(supports) for parent in idl.idl().inherits: idl = IDLInterface(parent) supports = scd.supportsInterface(repid=idl.repid(), supportsname=idl.interface()) supportsinterface.append(supports) self.scd.componentfeatures.set_supportsinterface(supportsinterface)