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)
    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)