Table of Contents

Class ProtocolDataPayloadBase

Namespace
SmarterLink.Core.Protocol
Assembly
SmarterLink.Core.dll

Base type for all strongly-typed SmarterLink payload types. Every payload carries a version field for independent schema evolution.

[JsonDerivedType(typeof(DataProcessorEvents.ComponentAnalysisUpdated))]
[JsonDerivedType(typeof(DataProcessorEvents.ComponentReportUpdated))]
[JsonDerivedType(typeof(InspectionEvents.UserInformationAcquired))]
[JsonDerivedType(typeof(InspectionEvents.InspectionSystemStatusAcquired))]
[JsonDerivedType(typeof(InspectionEvents.ComponentImageAcquired))]
[JsonDerivedType(typeof(JobEvents.ActiveJobUpdated))]
[JsonDerivedType(typeof(JobEvents.JobFileAvailable))]
[JsonDerivedType(typeof(FileTransferModels.MetadataRequest))]
[JsonDerivedType(typeof(FileTransferModels.MetadataResponse))]
[JsonDerivedType(typeof(FileTransferModels.TransferRequest))]
[JsonDerivedType(typeof(FileTransferModels.TransferRejected))]
[JsonDerivedType(typeof(FileTransferModels.TransferAccepted))]
[PayloadTypeName("ProtocolDataPayload")]
public abstract record ProtocolDataPayloadBase : IEquatable<ProtocolDataPayloadBase>
Inheritance
ProtocolDataPayloadBase
Implements
Derived
Inherited Members

Constructors

Base type for all strongly-typed SmarterLink payload types. Every payload carries a version field for independent schema evolution.

protected ProtocolDataPayloadBase(int Version)

Parameters

Version int

Properties

[JsonRequired]
public int Version { get; init; }

Property Value

int

Methods

Returns all concrete (non-abstract) types derived from ProtocolDataPayloadBase in the current assembly. Used internally to register handlers for all standard event types.

public static IEnumerable<Type> GetAllDerivedTypes()

Returns

IEnumerable<Type>