Files
Pilz/Pilz.Net/Api/IApiServer.cs

40 lines
1.2 KiB
C#

using Castle.Core.Logging;
using Pilz.Net.Data;
namespace Pilz.Net.Api;
public interface IApiServer
{
public delegate void OnCheckAuthenticationEventHandler(object sender, ApiAuthCheckEventArgs e);
public delegate void OnCheckContextEventHandler(object sender, ApiContextEventArgs e);
public delegate IDataManager? OnGetNewDataManagerEventHandler(object sender, EventArgs e);
event OnCheckAuthenticationEventHandler? OnCheckAuthentication;
event OnCheckContextEventHandler? OnCheckContext;
event OnCheckContextEventHandler? OnCheckContextCompleted;
event OnGetNewDataManagerEventHandler? OnGetNewDataManager;
event DataManagerEventHandler? OnResetDataManager;
IDataManager Manager { get; }
string ApiUrl { get; }
bool EnableAuth { get; set; }
IApiMessageSerializer Serializer { get; }
ILogger Log { get; set; }
void Start();
void Stop();
void RegisterHandler<T>(T instance) where T : class;
void RegisterHandler(Delegate handler);
void RegisterHandler(Delegate handler, bool throwOnError);
void RegisterHandler(Delegate handler, ApiMessageHandlerAttribute attribute, bool throwOnError);
}