2022-05-11 15:02:17 +02:00

58 lines
1.5 KiB
C#

using FabAccessAPI.Schema;
using System;
using System.Threading.Tasks;
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>
Task Connect(ConnectionData connectionData);
/// <summary>
/// Disconnect from BFFH Server
/// </summary>
Task Disconnect();
/// <summary>
/// Reconnect after connection loss with the last ConnectionData
/// </summary>
Task Reconnect();
/// <summary>
/// Connect to Server and get ConnectionInfo.
/// The Connection is not maintained.
/// </summary>
ConnectionInfo TestConnection(ConnectionData connectionData);
}
}