Introduced a very simple "singleton" service-locator, which allowed for a removal of specific implementations which were very limited. With this it's easier to access dependencies.

This commit is contained in:
Krom, Robertus 2020-02-18 13:48:40 +01:00
commit 80d8f51fc5
53 changed files with 744 additions and 1230 deletions

View file

@ -0,0 +1,25 @@
using System;
namespace Greenshot.Plugin
{
/// <summary>
/// This defines the plugin
/// </summary>
public interface IGreenshotPlugin : IDisposable {
/// <summary>
/// Is called after the plugin is instantiated, the Plugin should keep a copy of the host and pluginAttribute.
/// </summary>
/// <returns>true if plugin is initialized, false if not (doesn't show)</returns>
bool Initialize();
/// <summary>
/// Unload of the plugin
/// </summary>
void Shutdown();
/// <summary>
/// Open the Configuration Form, will/should not be called before handshaking is done
/// </summary>
void Configure();
}
}