Hermod
A cross-platform, modular and fully GDPR-compliant email archival solution!
Loading...
Searching...
No Matches
IPlugin.cs
Go to the documentation of this file.
1using System;
2
4
5 using Config;
6 using Core.Commands;
7 using Core.Commands.Results;
9 using Serilog;
10
14 public interface IPlugin {
15
19 Version PluginVersion { get; }
20
24 string PluginName { get; }
25
29 List<ICommand> PluginCommands { get; }
30
36 void OnLoad(IPluginDelegator pluginDelegator);
37
41 void OnStart();
42
46 void OnStop();
47
53
58
59 }
60
61}
62
Event arguments for when a configuration has changed.
Basic contract between Hermod and any laoded plugins which allows jobs to be delegated to other plugi...
Basic contract between Hermod and any plugins.
Definition: IPlugin.cs:14
void OnLoad(IPluginDelegator pluginDelegator)
Method that is called once the plugin has been loaded. This may be used for pre-init purposes.
void OnConfigChanged(ConfigChangedEventArgs e)
Method that is called when an application-wide configuration has been modified.
Version PluginVersion
Gets the version of the plugin.
Definition: IPlugin.cs:19
void OnConfigLoaded()
Method that is called when the application-wide configurations have been loaded.
string PluginName
Gets the name of the plugin.
Definition: IPlugin.cs:24
List< ICommand > PluginCommands
A list of all commands this plugin provides.
Definition: IPlugin.cs:29
void OnStop()
Method that is called when Hermod is shutting down.
void OnStart()
Method that is called once Hermod has completed its startup procedures and is ready to run.