|
@@ -1,38 +1,34 @@
|
|
|
namespace MinicsConsole.Helper.RawDataFilter;
|
|
|
|
|
|
-public class Mini8Provider : IMini8Provider, IMini8DataFilter, IDisposable
|
|
|
+public class Mini8Provider : IMini8Provider, IMini8DataFilter
|
|
|
{
|
|
|
public Mini8Provider(byte mini8Index, ILog log, BasicInfo basicInfo, IDictionary<byte, ChannelData> channels, Mini8DataDispatcher dataDispatcher)
|
|
|
{
|
|
|
- _log = log;
|
|
|
- _channels = channels;
|
|
|
- _mini8Index = mini8Index;
|
|
|
- _dataDispatcher = dataDispatcher;
|
|
|
+ this._log = log;
|
|
|
+ this._channels = channels;
|
|
|
+ this._mini8Index = mini8Index;
|
|
|
+ this._dataDispatcher = dataDispatcher;
|
|
|
+ ChannelDataBaseHelper dataBaseHelper = new(mini8Index, log);
|
|
|
|
|
|
- _Mini8DataQueue = new();
|
|
|
- _DataBaseHelper = new(mini8Index, log);
|
|
|
- _ApplyAutoTurnLayer = new(mini8Index, log);
|
|
|
- _DataRecorderLayer = new(mini8Index, log, dataDispatcher);
|
|
|
- _AlarmLayer = new(mini8Index, log, basicInfo, dataDispatcher)
|
|
|
- {
|
|
|
- DataBaseHelper = _DataBaseHelper
|
|
|
- };
|
|
|
- _DataRecorderLayer.DataBaseHelper = _DataBaseHelper;
|
|
|
- _ = (IMini8DataFilter)this >> _Mini8DataQueue >> _DataRecorderLayer >> _ApplyAutoTurnLayer >> _AlarmLayer;
|
|
|
+ Mini8DataQueue mini8DataQueue = new();
|
|
|
+ AutoApplyAutoTurnLayer applyAutoTurn = new(mini8Index, log);
|
|
|
+ Mini8DataRecorderLayer dataRecorder = new(mini8Index, log, dataDispatcher) { DataBaseHelper = dataBaseHelper };
|
|
|
+ AlarmHelperLayer alarmHelper = new(mini8Index, log, basicInfo, dataDispatcher) { DataBaseHelper = dataBaseHelper };
|
|
|
+
|
|
|
+ _ = (IMini8DataFilter)this >> mini8DataQueue >> dataRecorder >> applyAutoTurn >> alarmHelper;
|
|
|
+
|
|
|
+ this._DataBaseHelper = dataBaseHelper;
|
|
|
+ this._ApplyAutoTurnLayer = applyAutoTurn;
|
|
|
}
|
|
|
|
|
|
private readonly ILog _log;
|
|
|
private readonly byte _mini8Index;
|
|
|
private readonly Mini8DataDispatcher _dataDispatcher;
|
|
|
- private readonly IDictionary<byte, ChannelData> _channels;
|
|
|
-
|
|
|
private readonly ChannelDataBaseHelper _DataBaseHelper;
|
|
|
-
|
|
|
- private readonly AlarmHelperLayer _AlarmLayer;
|
|
|
- private readonly Mini8DataQueue _Mini8DataQueue;
|
|
|
- private readonly Mini8DataRecorderLayer _DataRecorderLayer;
|
|
|
+ private readonly IDictionary<byte, ChannelData> _channels;
|
|
|
private readonly AutoApplyAutoTurnLayer _ApplyAutoTurnLayer;
|
|
|
|
|
|
+
|
|
|
public bool IsConnect { get; private set; } = false;
|
|
|
public IDataSender? NextSender { get; set; }
|
|
|
|
|
@@ -44,25 +40,20 @@ public class Mini8Provider : IMini8Provider, IMini8DataFilter, IDisposable
|
|
|
if (!_channels.TryGetValue(channel, out ChannelData? channelData) || channelData is null)
|
|
|
return;
|
|
|
|
|
|
- NextSender?.Send(mini8Output, channelData, default);
|
|
|
+ this.NextSender?.Send(mini8Output, channelData, default);
|
|
|
}
|
|
|
|
|
|
void IMini8ConnectNotify.OnConnected(string IP, int port)
|
|
|
{
|
|
|
- IsConnect = true;
|
|
|
- _log.Info($"{IP}:{port} Connected");
|
|
|
- _dataDispatcher.Mini8Connect(_mini8Index);
|
|
|
+ this.IsConnect = true;
|
|
|
+ this._log.Info($"{IP}:{port} Connected");
|
|
|
+ this._dataDispatcher.Mini8Connect(_mini8Index);
|
|
|
}
|
|
|
|
|
|
void IMini8ConnectNotify.OnDisconnected(string IP, int port)
|
|
|
{
|
|
|
- IsConnect = false;
|
|
|
- _log.Warning($"{IP}:{port} Disconnected");
|
|
|
- _dataDispatcher.Mini8Disconnect(_mini8Index);
|
|
|
- }
|
|
|
-
|
|
|
- public void Dispose()
|
|
|
- {
|
|
|
- _Mini8DataQueue?.Dispose();
|
|
|
+ this.IsConnect = false;
|
|
|
+ this._log.Warning($"{IP}:{port} Disconnected");
|
|
|
+ this._dataDispatcher.Mini8Disconnect(_mini8Index);
|
|
|
}
|
|
|
}
|