namespace Modbus.Device
{
using System;
using IO;
using Unme.Common;
///
/// Modbus device.
///
public abstract class ModbusDevice : IDisposable
{
private ModbusTransport _transport;
internal ModbusDevice(ModbusTransport transport)
{
_transport = transport;
}
///
/// Gets the Modbus Transport.
///
public ModbusTransport Transport
{
get { return _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);
}
}
}
}