42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
using MessagePack;
|
|
|
|
namespace ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Shared.Contracts;
|
|
|
|
[MessagePackObject]
|
|
public sealed class DiscoverHierarchyRequest
|
|
{
|
|
[Key(0)] public long SessionId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// IPC-shape for a Galaxy object. Proxy maps to/from <c>DriverAttributeInfo</c> (Core.Abstractions).
|
|
/// </summary>
|
|
[MessagePackObject]
|
|
public sealed class GalaxyObjectInfo
|
|
{
|
|
[Key(0)] public string ContainedName { get; set; } = string.Empty;
|
|
[Key(1)] public string TagName { get; set; } = string.Empty;
|
|
[Key(2)] public string? ParentContainedName { get; set; }
|
|
[Key(3)] public string TemplateCategory { get; set; } = string.Empty;
|
|
[Key(4)] public GalaxyAttributeInfo[] Attributes { get; set; } = System.Array.Empty<GalaxyAttributeInfo>();
|
|
}
|
|
|
|
[MessagePackObject]
|
|
public sealed class GalaxyAttributeInfo
|
|
{
|
|
[Key(0)] public string AttributeName { get; set; } = string.Empty;
|
|
[Key(1)] public int MxDataType { get; set; }
|
|
[Key(2)] public bool IsArray { get; set; }
|
|
[Key(3)] public uint? ArrayDim { get; set; }
|
|
[Key(4)] public int SecurityClassification { get; set; }
|
|
[Key(5)] public bool IsHistorized { get; set; }
|
|
}
|
|
|
|
[MessagePackObject]
|
|
public sealed class DiscoverHierarchyResponse
|
|
{
|
|
[Key(0)] public bool Success { get; set; }
|
|
[Key(1)] public string? Error { get; set; }
|
|
[Key(2)] public GalaxyObjectInfo[] Objects { get; set; } = System.Array.Empty<GalaxyObjectInfo>();
|
|
}
|