59 lines
1.6 KiB
C#
Raw Normal View History

2022-05-12 23:08:37 +02:00
using Capnp.Rpc;
using FabAccessAPI.Schema;
2022-05-10 13:35:23 +02:00
using System;
2022-05-11 15:02:17 +02:00
using System.Threading.Tasks;
2022-05-10 13:35:23 +02:00
namespace FabAccessAPI
{
public interface IAPI
{
/// <summary>
/// Data to establish connection.
/// </summary>
/// Without SecretProperties
ConnectionData ConnectionData { get; }
/// <summary>
/// Information about the established connection.
/// </summary>
ConnectionInfo ConnectionInfo { get; }
/// <summary>
/// Is API connected?
/// </summary>
bool IsConnected { get; }
/// <summary>
/// Get session when connection is established
/// </summary>
Session Session { get; }
/// <summary>
/// Event on changes in connection state.
/// </summary>
event EventHandler<ConnectionStatusChange> ConnectionStatusChanged;
/// <summary>
/// Connect to BFFH Server
/// </summary>
/// <param name="connectionData"></param>
2022-05-16 22:41:29 +02:00
Task Connect(ConnectionData connectionData, TcpRpcClient tcpRpcClient = null);
2022-05-10 13:35:23 +02:00
/// <summary>
/// Disconnect from BFFH Server
/// </summary>
2022-05-11 15:02:17 +02:00
Task Disconnect();
2022-05-10 13:35:23 +02:00
/// <summary>
/// Reconnect after connection loss with the last ConnectionData
/// </summary>
2022-05-11 15:02:17 +02:00
Task Reconnect();
2022-05-10 13:35:23 +02:00
/// <summary>
/// Connect to Server and get ConnectionInfo.
/// The Connection is not maintained.
/// </summary>
2022-05-16 22:41:29 +02:00
Task<ConnectionInfo> TestConnection(ConnectionData connectionData, TcpRpcClient tcpRpcClient = null);
2022-05-10 13:35:23 +02:00
}
}