37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
using Castle.Core.Logging;
|
|
using Pilz.Data;
|
|
using Pilz.Jobs;
|
|
|
|
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; }
|
|
public JobCenter Jobs { get; }
|
|
|
|
IApiMessageSerializer Serializer { get; }
|
|
ILogger Log { get; set; }
|
|
void Start();
|
|
void Stop() => Stop(true);
|
|
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);
|
|
Dictionary<string, string[]> GetEndpoints();
|
|
void Stop(bool graceful);
|
|
void Restart(bool graceful);
|
|
T? GetHandler<T>();
|
|
}
|