Update AsyncPlugin XML docs for clarity and integration details

This commit is contained in:
Stone_Red
2025-12-25 18:20:53 +01:00
parent 2b363bcd18
commit 0bb5b10dba
+7 -7
View File
@@ -5,14 +5,14 @@ using System.Threading.Tasks;
namespace DesktopMagic.Api; namespace DesktopMagic.Api;
/// <summary> /// <summary>
/// Provides an abstract base class for plugins that execute asynchronously. Derive from this class to implement plugins /// Provides an abstract base class for creating asynchronous plugins that can be integrated into the application, supporting periodic updates,
/// whose main logic runs in a non-blocking manner using asynchronous operations. /// rendering, and user interaction.
/// </summary> /// </summary>
/// <remarks>AsyncPlugin is intended for scenarios where plugin execution should not block the calling thread. /// <remarks>Derive from this class to implement custom plugin functionality. The class defines lifecycle methods
/// Override the MainAsync method to implement asynchronous plugin behavior. The synchronous Main method is sealed and /// such as <see cref="Plugin.Start"/>, <see cref="Plugin.Stop"/>, and <see cref="Main"/> for activation, deactivation, and periodic
/// obsolete; it cannot be used for execution and will always throw an exception. Use MainAsync for all plugin logic. /// execution. It also provides event handlers for mouse and theme interactions, as well as access to application data
/// The MainAsync method is typically invoked when the UpdateInterval elapses, allowing periodic asynchronous /// and rendering configuration. Implementations should override relevant methods to respond to user input, update
/// execution.</remarks> /// intervals, and configuration changes as needed.</remarks>
public abstract class AsyncPlugin : Plugin public abstract class AsyncPlugin : Plugin
{ {
/// <summary> /// <summary>