| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #region License
- /* Copyright 2011 James F. Bellinger <http://www.zer7.com/software/hidsharp>
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
- #endregion
- using System.Collections.Generic;
- namespace HidSharp.ReportDescriptors.Parser
- {
- public class ReportCollection : ReportMainItem
- {
- internal List<ReportMainItem> _children;
- public ReportCollection()
- {
- _children = new List<ReportMainItem>();
- }
- public void Clear()
- {
- List<ReportMainItem> children = new List<ReportMainItem>(_children);
- foreach (ReportMainItem child in children) { child.Parent = null; }
- Type = 0;
- }
- public IEnumerable<ReportMainItem> Children
- {
- get { foreach (ReportMainItem item in _children) { yield return item; } }
- }
- public IEnumerable<ReportCollection> Collections
- {
- get
- {
- foreach (ReportMainItem item in _children)
- { if (item is ReportCollection) { yield return (ReportCollection)item; } }
- }
- }
- public IEnumerable<ReportSegment> Segments
- {
- get
- {
- foreach (ReportMainItem item in _children)
- { if (item is ReportSegment) { yield return (ReportSegment)item; } }
- }
- }
- public CollectionType Type
- {
- get;
- set;
- }
- }
- }
|