using FabAccessAPI.Schema;
using System;
namespace FabAccessAPI
{
public interface IAPI
{
///
/// Data to establish connection.
///
/// Without SecretProperties
ConnectionData ConnectionData { get; }
///
/// Information about the established connection.
///
ConnectionInfo ConnectionInfo { get; }
///
/// Is API connected?
///
bool IsConnected { get; }
///
/// Get session when connection is established
///
Session Session { get; }
///
/// Event on changes in connection state.
///
event EventHandler ConnectionStatusChanged;
///
/// Connect to BFFH Server
///
///
void Connect(ConnectionData connectionData);
///
/// Disconnect from BFFH Server
///
void Disconnect();
///
/// Reconnect after connection loss with the last ConnectionData
///
void Reconnect();
///
/// Connect to Server and get ConnectionInfo.
/// The Connection is not maintained.
///
ConnectionInfo TestConnection(ConnectionData connectionData);
}
}