Hermod
A cross-platform, modular and fully GDPR-compliant email archival solution!
Loading...
Searching...
No Matches
IPluginDelegator.cs
Go to the documentation of this file.
1using System;
2
4
5 using Commands.Results;
6
31
37 void SubscribeTopic(string topicName);
38
46 void SubscribeTopics(params string[] topics);
47
52 void UnsubscribeTopic(string topicName);
53
59 void PublishMessage(string topic, object? message);
60
70 ICommandResult ExecuteCommand(params string[] command);
71
79 T GetApplicationConfig<T>(string config);
80
88 bool TryGetApplicationConfig<T>(string config, out T? value);
89
97 void Information(string? msg);
98
106 void Debug(string? msg);
107
115 void Error(string? msg);
116
124 void Warning(string? msg);
125
133 void Trace(string? msg);
134
135 }
136
137
138}
139
A generic, object-based variation of ICommandResult<T>.
Provides a standardised method of inter-plugin, message-based communication.
Basic contract between Hermod and any laoded plugins which allows jobs to be delegated to other plugi...
void SubscribeTopics(params string[] topics)
Allows a plugin to subscribe to multiple individual topics.
T GetApplicationConfig< T >(string config)
Retrieves an application configuration value.
void Debug(string? msg)
Logs a debug message to the logger.
void Warning(string? msg)
Logs a warning message to the logger.
void UnsubscribeTopic(string topicName)
Allows a plugin to unsubscribe from a single topic.
void Information(string? msg)
Logs an information message to the logger.
void SubscribeTopic(string topicName)
Allows a plugin to subscribe to an individual topic.
ICommandResult ExecuteCommand(params string[] command)
Executes a single command.
bool TryGetApplicationConfig< T >(string config, out T? value)
Tries to retrieve an application configuration value.
void Error(string? msg)
Logs an error message to the logger.
void Trace(string? msg)
Logs a trace message to the logger.
void PublishMessage(string topic, object? message)
Allows a plugin to publish a message on a given topic.