/* * Copyright (c) 2020 ETH Zürich, Educational Development and Technology (LET) * * 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 System; using System.Collections.Generic; using SafeExamBrowser.Applications.Contracts.Events; using SafeExamBrowser.Applications.Contracts.Resources.Icons; namespace SafeExamBrowser.Applications.Contracts { /// /// Controls the lifetime and functionality of an application. /// public interface IApplication { /// /// Indicates whether the application should be automatically started. /// bool AutoStart { get; } /// /// The resource providing the application icon. /// IconResource Icon { get; } /// /// The unique identifier of the application. /// Guid Id { get; } /// /// The name of the application. /// string Name { get; } /// /// The tooltip for the application. /// string Tooltip { get; } /// /// Event fired when the windows of the application have changed. /// event WindowsChangedEventHandler WindowsChanged; /// /// Returns all windows of the application. /// IEnumerable GetWindows(); /// /// Performs any initialization work, if necessary. /// void Initialize(); /// /// Starts the execution of the application. /// void Start(); /// /// Performs any termination work, e.g. releasing of used resources. /// void Terminate(); } }