bool thInterfaceIO_HandlerStatusCallback(TrafficHandlerPort sender, TrafficHandlerPort attacher) { CheckPorts(sender, InterfaceIOPort); DirectInterfaceIOHandler thLocalHandler = (DirectInterfaceIOHandler)TrafficHandler; return(attacher.ParentHandler is IPInterface && thLocalHandler.ContainsInterface((IPInterface)attacher.ParentHandler)); }
private bool AttachInterface(TrafficHandlerPort h) { DirectInterfaceIOHandler thLocalHandler = (DirectInterfaceIOHandler)TrafficHandler; if (h.PortType == PortType.Interface) { if (h.ParentHandler is IPInterface) { IPInterface ipi = (IPInterface)h.ParentHandler; if (!thLocalHandler.ContainsInterface(ipi)) { thLocalHandler.AddInterface(ipi); } else { throw new InvalidOperationException("The ports " + h.Name + " and " + InterfaceIOPort.Name + " are already connected."); } return(true); } } throw new InvalidOperationException("The " + InterfaceIOPort.Name + " cannot be used with other ports then interface ports or other devices then ip interfaces."); }