Class IpDeviceMonitor
public sealed class IpDeviceMonitor : IIpDeviceMonitor, IDeviceMonitor, IDisposable
- Inheritance
-
IpDeviceMonitor
- Implements
- Inherited Members
Constructors
IpDeviceMonitor(IpDeviceMonitorOptions, IDiscovery, IGrpcClientFactory, IDeviceHeartbeat, ILoggerFactory?)
public IpDeviceMonitor(IpDeviceMonitorOptions options, IDiscovery discovery, IGrpcClientFactory grpcClientFactory, IDeviceHeartbeat deviceHeartbeat, ILoggerFactory? loggerFactory = null)
Parameters
optionsIpDeviceMonitorOptionsdiscoveryIDiscoverygrpcClientFactoryIGrpcClientFactorydeviceHeartbeatIDeviceHeartbeatloggerFactoryILoggerFactory
Properties
IsMonitoring
Indicates whether the device monitor is currently monitoring devices. Returns false when the monitor is not started or the underlying discovery implementation is suspended or stopped.
public bool IsMonitoring { get; }
Property Value
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
GetDiscoveryType()
[Obsolete("Method will be removed in SDK version 3.")]
public Type GetDiscoveryType()
Returns
RestartDiscovery()
Restarts IP device discovery and heartbeat if the monitor is started.
public Task RestartDiscovery()
Returns
Resume()
[Obsolete("Use RestartDiscovery() instead. Method will be removed in SDK version 3.")]
public void Resume()
Start(SdkSession, int, CancellationToken)
[Obsolete("Use Start(SdkSession session, CancellationToken ct) instead. Method will be removed in SDK version 3.")]
public Task Start(SdkSession session, int timeout_ms, CancellationToken ct)
Parameters
sessionSdkSessiontimeout_msintctCancellationToken
Returns
Start(SdkSession, CancellationToken)
Start the device monitor. May only be called once.
public Task Start(SdkSession session, CancellationToken ct = default)
Parameters
sessionSdkSessionctCancellationToken
Returns
Exceptions
- InvalidOperationException
Thrown if the monitor is already started.
StopDiscovery()
Stops IP device discovery and heartbeat; then triggers DeviceDisconnected events for all connected devices. The monitor keeps its started state; discovery can be restarted with RestartDiscovery().
public Task StopDiscovery()
Returns
Suspend()
[Obsolete("Use StopDiscovery() instead. Method will be removed in SDK version 3.")]
public void Suspend()
Events
DeviceAccessDenied
This event is triggered when a connected device is inaccessible, e.g., when it is claimed by another process or when permission is denied.
public event EventHandler<DeviceAccessDeniedEventArgs>? DeviceAccessDenied
Event Type
- EventHandler<DeviceAccessDeniedEventArgs>
DeviceConnected
This event is triggered when a device is connected. It will also trigger for all currently connected devices when device discovery starts.
public event EventHandler<DeviceConnectionChangeEventArgs>? DeviceConnected
Event Type
DeviceDisconnected
This event is triggered when a device is disconnected. It will only occur for devices that have previously triggered the DeviceConnected event.
public event EventHandler<DeviceConnectionChangeEventArgs>? DeviceDisconnected