// // /*=============================================================================== // // Copyright (C) 2025 PhantomsXR Ltd. All Rights Reserved. // // // // This file is part of the Phantom.XRMOD.ActionNotification.Runtime. // // // // The QuestPlatform cannot be copied, distributed, or made available to // // third-parties for commercial purposes without written permission of PhantomsXR Ltd. // // // // Contact info@phantomsxr.com for licensing requests. // // ===============================================================================*/ using System.Collections.Generic; using System.Threading.Tasks; namespace Phantom.XRMOD.ActionNotification.Runtime { /// /// Represents a handler that can process a notification. /// Supports both synchronous and asynchronous invocation. /// public interface INotificationHandler { /// /// Gets the name of the notification this handler processes. /// string Name { get; } /// /// Invokes the handler synchronously. /// /// The notification data. /// A list to collect results from multiple handlers. void Invoke(BaseNotificationData _data, List _results); /// /// Invokes the handler asynchronously. /// /// The notification data. /// A list to collect results from multiple handlers. /// A task representing the asynchronous operation. Task InvokeAsync(BaseNotificationData _data, List _results); } }