using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;

namespace RTCommunicatorBase;

public interface IRTMini8Sender
{
    ConcurrentDictionary<string, ST_CHANNEL_Notify> ChannelData { get; }

    bool Initialize(IRTMini8Provider provider);
    bool StartService(string ip, int port);

    bool SelectConfigFile(string name);
    bool CloseService();
}

public interface IConnectNotify
{
    void Connected(string ip, int port);
    void DisConnected(string ip, int port);
}

public interface IRTMini8Provider : IConnectNotify
{

    void CurrentTempConfigFile(string fileName);
    void ChannelAlarmNotify(ST_ALARM_Notify alarm);
    void ChannelRealtimeNotify(ST_CHANNEL_Notify channel);
    void Mini8ConnectNotify(byte mini8Index);
    void Mini8DisconnectNotify(byte mini8);
}
