public void RemoveInterface(InterfaceStatus interfaceStatus) { // clean up interfaceStatus.Subscription?.Unsubscribe(this); InterfaceStatuses.Remove(interfaceStatus); interfaceStatus.Dispose(); }
private void AddInterfaceIfSupported(HeliosInterface heliosInterface) { if (InterfaceStatus.TryManage(heliosInterface, out InterfaceStatus interfaceStatus)) { InterfaceStatuses.Add(interfaceStatus); interfaceStatus.Subscription?.Subscribe(this); } }
public static bool TryManage(HeliosInterface heliosInterface, out InterfaceStatus managed) { managed = new InterfaceStatus(heliosInterface); return(true); }