namespace ZB.MOM.WW.MxGateway.Client; /// /// Filters and shape options for . /// /// /// Hand-written ergonomic wrapper around the generated /// DiscoverHierarchyRequest: lets callers express a Galaxy-browse /// slice with .NET-friendly nullable scalars and collection initializers, /// without touching the protobuf message's oneof root directly. /// public sealed class DiscoverHierarchyOptions { /// Restrict to the subtree rooted at this Galaxy gobject_id. public int? RootGobjectId { get; init; } /// Restrict to the subtree rooted at the object with this tag name. public string? RootTagName { get; init; } /// Restrict to the subtree rooted at this contained_name path. public string? RootContainedPath { get; init; } /// Maximum traversal depth, measured from the chosen root. public int? MaxDepth { get; init; } /// Restrict to objects whose Galaxy category is in this set. public IReadOnlyList CategoryIds { get; init; } = []; /// Restrict to objects whose template chain contains any of these tokens. public IReadOnlyList TemplateChainContains { get; init; } = []; /// Optional glob-style filter on tag_name. public string? TagNameGlob { get; init; } /// Whether to populate each GalaxyObject.Attributes. Null leaves the server default. public bool? IncludeAttributes { get; init; } /// Restrict to objects that bear at least one alarm attribute. public bool AlarmBearingOnly { get; init; } /// Restrict to objects that have at least one historized attribute. public bool HistorizedOnly { get; init; } }