feat(commons): OpcUaEndpointConfig POCOs + ConnectionConfig ValidationCategory
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
namespace ScadaLink.Commons.Types.DataConnections;
|
||||
|
||||
public sealed class OpcUaEndpointConfig
|
||||
{
|
||||
// Connection
|
||||
public string EndpointUrl { get; set; } = "";
|
||||
public OpcUaSecurityMode SecurityMode { get; set; } = OpcUaSecurityMode.None;
|
||||
public bool AutoAcceptUntrustedCerts { get; set; } = true;
|
||||
|
||||
// Timing
|
||||
public int SessionTimeoutMs { get; set; } = 60000;
|
||||
public int OperationTimeoutMs { get; set; } = 15000;
|
||||
|
||||
// Subscription
|
||||
public int PublishingIntervalMs { get; set; } = 1000;
|
||||
public int SamplingIntervalMs { get; set; } = 1000;
|
||||
public int QueueSize { get; set; } = 10;
|
||||
public int KeepAliveCount { get; set; } = 10;
|
||||
public int LifetimeCount { get; set; } = 30;
|
||||
public int MaxNotificationsPerPublish { get; set; } = 100;
|
||||
|
||||
// Heartbeat (optional)
|
||||
public OpcUaHeartbeatConfig? Heartbeat { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace ScadaLink.Commons.Types.DataConnections;
|
||||
|
||||
public sealed class OpcUaHeartbeatConfig
|
||||
{
|
||||
public string TagPath { get; set; } = "";
|
||||
public int MaxSilenceSeconds { get; set; } = 30;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace ScadaLink.Commons.Types.DataConnections;
|
||||
|
||||
public enum OpcUaSecurityMode
|
||||
{
|
||||
None,
|
||||
Sign,
|
||||
SignAndEncrypt
|
||||
}
|
||||
@@ -61,5 +61,6 @@ public enum ValidationCategory
|
||||
TriggerOperandType,
|
||||
OnTriggerScriptNotFound,
|
||||
CrossCallViolation,
|
||||
MissingMetadata
|
||||
MissingMetadata,
|
||||
ConnectionConfig
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user