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