using System;
using NModbus.Unme.Common;
namespace NModbus.Device
{
///
/// Modbus device.
///
public abstract class ModbusDevice : IDisposable
{
private IModbusTransport _transport;
protected ModbusDevice(IModbusTransport transport)
{
_transport = transport;
}
///
/// Gets the Modbus Transport.
///
public IModbusTransport Transport => _transport;
///
/// Releases unmanaged and - optionally - managed resources.
///
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
///
/// Releases unmanaged and - optionally - managed resources.
///
///
/// true to release both managed and unmanaged resources;
/// false to release only unmanaged resources.
///
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
DisposableUtility.Dispose(ref _transport);
}
}
}
}