From 02238de5e7827399d5184d906a2947e1430fa085 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sun, 26 Sep 2021 17:00:09 +0530 Subject: [PATCH] added IDnsApplication --- .../IDnsApplication.cs | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 DnsServerCore.ApplicationCommon/IDnsApplication.cs diff --git a/DnsServerCore.ApplicationCommon/IDnsApplication.cs b/DnsServerCore.ApplicationCommon/IDnsApplication.cs new file mode 100644 index 00000000..0fce1be2 --- /dev/null +++ b/DnsServerCore.ApplicationCommon/IDnsApplication.cs @@ -0,0 +1,42 @@ +/* +Technitium DNS Server +Copyright (C) 2021 Shreyas Zare (shreyas@technitium.com) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +*/ + +using System; +using System.Threading.Tasks; + +namespace DnsServerCore.ApplicationCommon +{ + /// + /// Allows an application to initialize itself using the DNS app config. + /// + public interface IDnsApplication : IDisposable + { + /// + /// Allows initializing the DNS application with a config. This function is also called when the config is updated to allow reloading. + /// + /// The DNS server interface object that allows access to DNS server properties. + /// The DNS application config stored in the dnsApp.config file. + Task InitializeAsync(IDnsServer dnsServer, string config); + + /// + /// The description about this app to be shown in the Apps section of the DNS web console. + /// + string Description { get; } + } +}