From 4a732cb3acd2fd3d15118143011496c22acf3f3a Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Tue, 18 Mar 2025 15:01:48 +0100 Subject: [PATCH] add IApiHandlerInitializer --- Pilz.Net/Api/ApiServer.cs | 4 ++++ Pilz.Net/Api/IApiHandlerInitializer.cs | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 Pilz.Net/Api/IApiHandlerInitializer.cs diff --git a/Pilz.Net/Api/ApiServer.cs b/Pilz.Net/Api/ApiServer.cs index 6a6e10b..fdd5455 100644 --- a/Pilz.Net/Api/ApiServer.cs +++ b/Pilz.Net/Api/ApiServer.cs @@ -160,6 +160,10 @@ public class ApiServer : IApiServer public virtual void RegisterHandler(T instance) where T : class { + // Initialize + if (instance is IApiHandlerInitializer initializer) + initializer.Initialize(this); + // Get all public instance methods var methods = typeof(T).GetMethods(BindingFlags.Instance | BindingFlags.Public); diff --git a/Pilz.Net/Api/IApiHandlerInitializer.cs b/Pilz.Net/Api/IApiHandlerInitializer.cs new file mode 100644 index 0000000..72aa951 --- /dev/null +++ b/Pilz.Net/Api/IApiHandlerInitializer.cs @@ -0,0 +1,6 @@ +namespace Pilz.Net.Api; + +public interface IApiHandlerInitializer +{ + public void Initialize(IApiServer server); +}