Example #1
0
        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;
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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;
        }
Example #5
0
        /// <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;
        }
Example #6
0
        /// <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;
        }