using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
///
/// Creates OPC UA sessions from a configured endpoint.
///
internal interface ISessionFactory
{
///
/// Creates a session to the given endpoint.
///
/// The application configuration.
/// The configured endpoint.
/// The session name.
/// Session timeout in milliseconds.
/// The user identity.
/// Cancellation token.
/// A session adapter wrapping the created session.
Task CreateSessionAsync(
ApplicationConfiguration config,
EndpointDescription endpoint,
string sessionName,
uint sessionTimeoutMs,
UserIdentity identity,
CancellationToken ct = default);
}