public LinkedList<IDevice> GetDevices(IFindDevice match) { spinLock.Enter(); LinkedList<IDevice> list = new LinkedList<IDevice>(); foreach (IDevice device in devices) if (match.IsMatch(device)) list.Add(device); spinLock.Exit(); return list; }
/// <summary> /// Gets the devices. /// </summary> /// <param name="match1">The match1.</param> /// <param name="match2">The match2.</param> /// <param name="match3">The match3.</param> /// <returns></returns> public LinkedList <IDevice> GetDevices(IFindDevice match1, IFindDevice match2, IFindDevice match3) { spinLock.Enter(); LinkedList <IDevice> list = new LinkedList <IDevice>(); foreach (IDevice device in devices) { if (match1.IsMatch(device) && (match2.IsMatch(device)) && (match3.IsMatch(device))) { list.AddLast(device); } } spinLock.Exit(); return(list); }
/// <summary> /// Gets the devices. /// </summary> /// <param name="match">The match.</param> /// <returns></returns> public LinkedList <IDevice> GetDevices(IFindDevice match) { spinLock.Enter(); var list = new LinkedList <IDevice>(); foreach (var device in devices) { if (match.IsMatch(device)) { list.AddLast(device); } } spinLock.Exit(); return(list); }
/// <summary> /// /// </summary> /// <param name="matches"></param> /// <returns></returns> public LinkedList<IDevice> GetDevices(IFindDevice[] matches) { spinLock.Enter(); LinkedList<IDevice> list = new LinkedList<IDevice>(); foreach (IDevice device in devices) { bool matched = true; foreach (IFindDevice find in matches) if (!find.IsMatch(device)) { matched = false; break; } if (matched) list.Add(device); } spinLock.Exit(); return list; }
/// <summary> /// Gets the devices. /// </summary> /// <param name="match">The match.</param> /// <returns></returns> public LinkedList<IDevice> GetDevices(IFindDevice match) { spinLock.Enter(); var list = new LinkedList<IDevice>(); foreach (var device in devices) { if (match.IsMatch(device)) list.AddLast(device); } spinLock.Exit(); return list; }
/// <summary> /// Gets the devices. /// </summary> /// <param name="match1">The match1.</param> /// <param name="match2">The match2.</param> /// <param name="match3">The match3.</param> /// <returns></returns> public LinkedList<IDevice> GetDevices(IFindDevice match1, IFindDevice match2, IFindDevice match3) { spinLock.Enter(); LinkedList<IDevice> list = new LinkedList<IDevice>(); foreach (IDevice device in devices) if (match1.IsMatch(device) && (match2.IsMatch(device)) && (match3.IsMatch(device))) list.AddLast(device); spinLock.Exit(); return list; }