/* * Copyright (c) 2024 ETH Zürich, IT Services * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using SafeExamBrowser.Core.Contracts.Notifications.Events; using SafeExamBrowser.Core.Contracts.Resources.Icons; namespace SafeExamBrowser.Core.Contracts.Notifications { /// /// Controls the lifetime and functionality of a notification which can be activated via the UI. /// public interface INotification { /// /// Determines whether the notification can be activated. /// bool CanActivate { get; } /// /// The resource providing the notification icon. /// IconResource IconResource { get; } /// /// The tooltip for the notification. /// string Tooltip { get; } /// /// Event fired when the notification has changed. /// event NotificationChangedEventHandler NotificationChanged; /// /// Executes the notification functionality. /// void Activate(); /// /// Terminates the notification functionality and release all used resources. /// void Terminate(); } }