SEBWIN-219: Added missing API documentation on type level.

This commit is contained in:
dbuechel 2018-03-06 11:38:12 +01:00
parent 4ce5677ecf
commit e0bc11fe79
88 changed files with 276 additions and 7 deletions

View file

@ -11,7 +11,7 @@ using SafeExamBrowser.Contracts.UserInterface.Taskbar;
namespace SafeExamBrowser.Contracts.Behaviour
{
/// <summary>
/// Controls the lifetime and functionality of a (third-party) application which can be accessed via the taskbar.
/// Controls the lifetime and functionality of a (third-party) application which can be accessed via the <see cref="ITaskbar"/>.
/// </summary>
public interface IApplicationController
{

View file

@ -13,6 +13,9 @@ using SafeExamBrowser.Contracts.Configuration.Settings;
namespace SafeExamBrowser.Contracts.Behaviour
{
/// <summary>
/// Controls the lifetime and is responsible for the event handling of the client application component.
/// </summary>
public interface IClientController
{
/// <summary>

View file

@ -6,11 +6,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
namespace SafeExamBrowser.Contracts.Behaviour
{
/// <summary>
/// Controls the lifetime and functionality of a notification which is part of the <see cref="ITaskbar"/>.
/// </summary>
public interface INotificationController
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Behaviour
{
/// <summary>
/// Controls the lifetime and is responsible for the event handling of the runtime application component.
/// </summary>
public interface IRuntimeController
{
/// <summary>

View file

@ -10,6 +10,9 @@ using SafeExamBrowser.Contracts.UserInterface;
namespace SafeExamBrowser.Contracts.Behaviour.Operations
{
/// <summary>
/// Defines an operation which will be executed as part of an <see cref="IOperationSequence"/>.
/// </summary>
public interface IOperation
{
/// <summary>

View file

@ -10,6 +10,17 @@ using SafeExamBrowser.Contracts.UserInterface;
namespace SafeExamBrowser.Contracts.Behaviour.Operations
{
/// <summary>
/// A sequence of <see cref="IOperation"/>s which can be used for sequential procedures, e.g. the initialization &amp; finalization of an
/// application component. Each operation will be executed failsafe, i.e. the return value will indicate whether a procedure completed
/// successfully or not.
///
/// The execution order of the individual operations (for an exemplary sequence initialized with operations A, B, C, D) is as follows:
///
/// <see cref="TryPerform"/>: The operations will be performed according to their initialized order (A -> B -> C -> D).
/// <see cref="TryRepeat"/>: The operations will be repeated according to their initialized order (A -> B -> C -> D).
/// <see cref="TryRevert"/>: The operations will be reverted according to the reversed initial order (D -> C -> B -> A).
/// </summary>
public interface IOperationSequence
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Behaviour.Operations
{
/// <summary>
/// Defines the result of the sequential execution of <see cref="IOperation"/>s (as part of an <see cref="IOperationSequence"/>).
/// </summary>
public enum OperationResult
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication
{
/// <summary>
/// Defines the functionality of the communication host for the client application component.
/// </summary>
public interface IClientHost : ICommunicationHost
{
/// <summary>

View file

@ -10,6 +10,9 @@ using SafeExamBrowser.Contracts.Communication.Responses;
namespace SafeExamBrowser.Contracts.Communication
{
/// <summary>
/// Defines the functionality for a proxy to the communication host of the client application component.
/// </summary>
public interface IClientProxy : ICommunicationProxy
{
/// <summary>

View file

@ -14,6 +14,9 @@ using SafeExamBrowser.Contracts.Configuration;
namespace SafeExamBrowser.Contracts.Communication
{
/// <summary>
/// Defines the API for all communication between the three application components (runtime, service and client).
/// </summary>
[ServiceContract(SessionMode = SessionMode.Required)]
[ServiceKnownType(typeof(SimpleMessage))]
[ServiceKnownType(typeof(AuthenticationResponse))]

View file

@ -10,6 +10,9 @@ namespace SafeExamBrowser.Contracts.Communication
{
public delegate void CommunicationEventHandler();
/// <summary>
/// Defines the common functionality for all communication hosts.
/// </summary>
public interface ICommunicationHost
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication
{
/// <summary>
/// Defines the common functionality for all communication proxies.
/// </summary>
public interface ICommunicationProxy
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication
{
/// <summary>
/// Defines the functionality of the communication host for the runtime application component.
/// </summary>
public interface IRuntimeHost : ICommunicationHost
{
/// <summary>

View file

@ -10,6 +10,9 @@ using SafeExamBrowser.Contracts.Configuration;
namespace SafeExamBrowser.Contracts.Communication
{
/// <summary>
/// Defines the functionality for a proxy to the communication host of the runtime application component.
/// </summary>
public interface IRuntimeProxy : ICommunicationProxy
{
/// <summary>

View file

@ -11,6 +11,9 @@ using SafeExamBrowser.Contracts.Configuration.Settings;
namespace SafeExamBrowser.Contracts.Communication
{
/// <summary>
/// Defines the functionality for a proxy to the communication host of the service application component.
/// </summary>
public interface IServiceProxy : ICommunicationProxy
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Messages
{
/// <summary>
/// This is the last message transmitted from a component to its interlocutor in order to terminate a communication session.
/// </summary>
[Serializable]
public class DisconnectionMessage : Message
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Messages
{
/// <summary>
/// The base class for messages, from which a message must inherit in order to be sent to an interlocutor via <see cref="ICommunication.Send(Message)"/>.
/// </summary>
[Serializable]
public abstract class Message
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Messages
{
/// <summary>
/// A generic message to send simple purports without data to an interlocutor.
/// </summary>
[Serializable]
public class SimpleMessage : Message
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Messages
{
/// <summary>
/// The possible purports of a <see cref="SimpleMessage"/>.
/// </summary>
[Serializable]
public enum SimpleMessagePurport
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Responses
{
/// <summary>
/// The response to be used to reply to an authentication request (see <see cref="Messages.SimpleMessagePurport.Authenticate"/>).
/// </summary>
[Serializable]
public class AuthenticationResponse : Response
{

View file

@ -11,6 +11,9 @@ using SafeExamBrowser.Contracts.Configuration;
namespace SafeExamBrowser.Contracts.Communication.Responses
{
/// <summary>
/// The response to be used to reply to a configuration request (see <see cref="Messages.SimpleMessagePurport.ConfigurationNeeded"/>).
/// </summary>
[Serializable]
public class ConfigurationResponse : Response
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Responses
{
/// <summary>
/// The response to a connection request (see <see cref="ICommunication.Connect(Guid?)"/>).
/// </summary>
[Serializable]
public class ConnectionResponse : Response
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Responses
{
/// <summary>
/// The response transmitted to a <see cref="Messages.DisconnectionMessage"/>
/// </summary>
[Serializable]
public class DisconnectionResponse : Response
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Responses
{
/// <summary>
/// The base class for respones, from which a response must inherit in order to be sent to an interlocutor as reply to <see cref="ICommunication.Send(Messages.Message)"/>.
/// </summary>
[Serializable]
public abstract class Response
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Responses
{
/// <summary>
/// A generic response to reply simple purports without data to an interlocutor.
/// </summary>
[Serializable]
public class SimpleResponse : Response
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Communication.Responses
{
/// <summary>
/// The possible purports of a <see cref="SimpleResponse"/>.
/// </summary>
[Serializable]
public enum SimpleResponsePurport
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// Container for the configuration of the client application component.
/// </summary>
[Serializable]
public class ClientConfiguration
{

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// The information about a (third-party) application which can be accessed via the <see cref="UserInterface.Taskbar.ITaskbar"/>.
/// </summary>
public interface IApplicationInfo
{
/// <summary>

View file

@ -14,6 +14,9 @@ namespace SafeExamBrowser.Contracts.Configuration
public delegate void TerminatedEventHandler(Guid id);
public delegate void NameChangedEventHandler(string name);
/// <summary>
/// Defines an instance of a (third-party) application which can be accessed via the <see cref="UserInterface.Taskbar.ITaskbar"/>.
/// </summary>
public interface IApplicationInstance
{
/// <summary>

View file

@ -7,10 +7,12 @@
*/
using System;
using SafeExamBrowser.Contracts.Configuration.Settings;
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// The repository which controls the loading and initializing of configuration data.
/// </summary>
public interface IConfigurationRepository
{
/// <summary>

View file

@ -10,10 +10,13 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// Defines an icon resource, i.e. the path to and type of an icon.
/// </summary>
public interface IIconResource
{
/// <summary>
/// The <c>Uri</c> pointing to the icon.
/// The <see cref="System.Uri"/> pointing to the icon.
/// </summary>
Uri Uri { get; }

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// The information about a notification which is part of the <see cref="UserInterface.Taskbar.ITaskbar"/>.
/// </summary>
public interface INotificationInfo
{
/// <summary>

View file

@ -11,6 +11,9 @@ using SafeExamBrowser.Contracts.WindowsApi;
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// Defines all session-related (configuration) data.
/// </summary>
public interface ISession
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// Provides access to information about the operating system.
/// </summary>
public interface ISystemInfo
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// Defines all operating systems supported by the application.
/// </summary>
public enum OperatingSystem
{
Unknown = 0,

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// Defines the fundamental, global configuration information for all application components.
/// </summary>
[Serializable]
public class RuntimeInfo
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all configuration options for the browser of the application.
/// </summary>
[Serializable]
public class BrowserSettings
{

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all possible configuration modes for the application.
/// </summary>
public enum ConfigurationMode
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all configuration options for the <see cref="Monitoring.IKeyboardInterceptor"/>.
/// </summary>
[Serializable]
public class KeyboardSettings
{

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all possible kiosk modes which the application supports.
/// </summary>
public enum KioskMode
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all configuration options for the <see cref="Monitoring.IMouseInterceptor"/>.
/// </summary>
[Serializable]
public class MouseSettings
{

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all possible service policies which the application supports.
/// </summary>
public enum ServicePolicy
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all configuration options for the application.
/// </summary>
[Serializable]
public class Settings
{

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Configuration.Settings
{
/// <summary>
/// Defines all configuration options for the <see cref="UserInterface.Taskbar.ITaskbar"/>.
/// </summary>
[Serializable]
public class TaskbarSettings
{

View file

@ -8,6 +8,10 @@
namespace SafeExamBrowser.Contracts.I18n
{
/// <summary>
/// Provides access to text data. IMPORTANT: To allow for a complete internationalization of the application, all text elements which
/// are visible to the user must be retrieved via this module!
/// </summary>
public interface IText
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System.Collections.Generic;
namespace SafeExamBrowser.Contracts.I18n
{
/// <summary>
/// Defines a text resource, i.e. a source from which text data can be loaded.
/// </summary>
public interface ITextResource
{
/// <summary>

View file

@ -9,7 +9,8 @@
namespace SafeExamBrowser.Contracts.I18n
{
/// <summary>
/// Defines all text components of the user interface.
/// Defines all text elements of the user interface. Use the pattern "Location_Description" to allow for a better overview over all
/// keys and their usage (where applicable).
/// </summary>
public enum TextKey
{

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Logging
{
/// <summary>
/// Defines a formatter to be used to unify the look of and information rendered in an application log.
/// </summary>
public interface ILogContentFormatter
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Logging
{
/// <summary>
/// Defines a typical (i.e. prioritized and timestamped) log message as content element of the application log.
/// </summary>
public interface ILogMessage : ILogContent
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Logging
{
/// <summary>
/// Defines an observer of the application log which can subscribe to a logger via <see cref="ILogger.Subscribe(ILogObserver)"/>.
/// </summary>
public interface ILogObserver
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Logging
{
/// <summary>
/// Defines raw text data as content element of the application log.
/// </summary>
public interface ILogText : ILogContent
{
/// <summary>

View file

@ -11,6 +11,9 @@ using System.Collections.Generic;
namespace SafeExamBrowser.Contracts.Logging
{
/// <summary>
/// Defines the functionality of the logger.
/// </summary>
public interface ILogger
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Logging
{
/// <summary>
/// Defines information about a thread, to be associated with an <see cref="ILogMessage"/>.
/// </summary>
public interface IThreadInfo : ICloneable
{
/// <summary>

View file

@ -9,7 +9,7 @@
namespace SafeExamBrowser.Contracts.Logging
{
/// <summary>
/// Defines the severity levels of the application log.
/// Defines all possible severity levels supported by the application's <see cref="ILogger"/>.
/// </summary>
public enum LogLevel
{

View file

@ -10,6 +10,9 @@ namespace SafeExamBrowser.Contracts.Monitoring
{
public delegate void DisplayChangedEventHandler();
/// <summary>
/// Monitors the displays of the computer for (setup) changes and provides access to display-related functionality.
/// </summary>
public interface IDisplayMonitor
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Monitoring
{
/// <summary>
/// Intercepts all keyboard input (except the Secure Attention Sequence: https://en.wikipedia.org/wiki/Secure_attention_key).
/// </summary>
public interface IKeyboardInterceptor
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Monitoring
{
/// <summary>
/// Intercepts all mouse input.
/// </summary>
public interface IMouseInterceptor
{
/// <summary>

View file

@ -12,6 +12,9 @@ namespace SafeExamBrowser.Contracts.Monitoring
{
public delegate void ExplorerStartedEventHandler();
/// <summary>
/// Monitors the processes running on the computer and provides access to process-related functionality.
/// </summary>
public interface IProcessMonitor
{
/// <summary>

View file

@ -12,6 +12,9 @@ namespace SafeExamBrowser.Contracts.Monitoring
{
public delegate void WindowChangedEventHandler(IntPtr window);
/// <summary>
/// Monitors the windows associated with the current desktop and provides window-related functionality.
/// </summary>
public interface IWindowMonitor
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.Monitoring
{
/// <summary>
/// The key modifiers which can be detected by the <see cref="IKeyboardInterceptor"/>.
/// </summary>
[Flags]
public enum KeyModifier
{

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Monitoring
{
/// <summary>
/// The key states which can be detected by the <see cref="IKeyboardInterceptor"/> or <see cref="IMouseInterceptor"/>.
/// </summary>
public enum KeyState
{
None = 0,

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.Monitoring
{
/// <summary>
/// The mouse buttons which can be detected by the <see cref="IMouseInterceptor"/>.
/// </summary>
public enum MouseButton
{
None = 0,

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.SystemComponents
{
/// <summary>
/// Defines all possible charge statuses which can be determined by the application.
/// </summary>
public enum BatteryChargeStatus
{
Undefined = 0,

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.SystemComponents
{
/// <summary>
/// Defines a keyboard layout which can be loaded by the application.
/// </summary>
public interface IKeyboardLayout
{
/// <summary>

View file

@ -10,6 +10,10 @@ using SafeExamBrowser.Contracts.UserInterface.Taskbar;
namespace SafeExamBrowser.Contracts.SystemComponents
{
/// <summary>
/// Defines the functionality of a system component (e.g. the power supply). Each system component will get an <see cref="ISystemControl"/>
/// assigned, via which the user is able to interact with or get information about the underlying system component.
/// </summary>
public interface ISystemComponent<TControl> where TControl : ISystemControl
{
/// <summary>

View file

@ -10,6 +10,9 @@ using System;
namespace SafeExamBrowser.Contracts.SystemComponents
{
/// <summary>
/// Defines a wireless network which can be connected to by the application.
/// </summary>
public interface IWirelessNetwork
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.SystemComponents
{
/// <summary>
/// Defines all possible network statuses which can be determined by the application.
/// </summary>
public enum WirelessNetworkStatus
{
Undefined = 0,

View file

@ -12,6 +12,10 @@ namespace SafeExamBrowser.Contracts.UserInterface
public delegate void LoadingStateChangedEventHandler(bool isLoading);
public delegate void TitleChangedEventHandler(string title);
/// <summary>
/// Defines the functionality of a browser control (i.e. an instance of the browser resp. its user interface) and is normally embedded
/// within an <see cref="IBrowserWindow"/>.
/// </summary>
public interface IBrowserControl
{
/// <summary>

View file

@ -10,6 +10,9 @@ namespace SafeExamBrowser.Contracts.UserInterface
{
public delegate void ActionRequestedEventHandler();
/// <summary>
/// Defines the functionality of a browser window, i.e. a window with an embedded browser instance (see <see cref="IBrowserControl"/>).
/// </summary>
public interface IBrowserWindow : IWindow
{
/// <summary>

View file

@ -10,6 +10,9 @@ using SafeExamBrowser.Contracts.I18n;
namespace SafeExamBrowser.Contracts.UserInterface
{
/// <summary>
/// Defines the API for message boxes.
/// </summary>
public interface IMessageBox
{
/// <summary>

View file

@ -10,6 +10,9 @@ using SafeExamBrowser.Contracts.I18n;
namespace SafeExamBrowser.Contracts.UserInterface
{
/// <summary>
/// A progress indicator is a user interface element which displays the (completion) status of a procedure to the user.
/// </summary>
public interface IProgressIndicator
{
/// <summary>

View file

@ -10,6 +10,10 @@ using SafeExamBrowser.Contracts.Logging;
namespace SafeExamBrowser.Contracts.UserInterface
{
/// <summary>
/// The main window of the runtime application component. It is controlled by the <see cref="Behaviour.IRuntimeController"/> and serves
/// first of all as progress indicator for the user (e.g. during application startup &amp; shutdown).
/// </summary>
public interface IRuntimeWindow : ILogObserver, IProgressIndicator, IWindow
{
/// <summary>

View file

@ -10,10 +10,13 @@ using SafeExamBrowser.Contracts.Configuration;
namespace SafeExamBrowser.Contracts.UserInterface
{
/// <summary>
/// Defines the functionality of a splash screen.
/// </summary>
public interface ISplashScreen : IProgressIndicator, IWindow
{
/// <summary>
/// The runtime information used to display version and copyright information.
/// The runtime information used to display version and copyright information. Can be updated during the execution of a procedure.
/// </summary>
RuntimeInfo RuntimeInfo { set; }
}

View file

@ -13,6 +13,11 @@ using SafeExamBrowser.Contracts.UserInterface.Taskbar;
namespace SafeExamBrowser.Contracts.UserInterface
{
/// <summary>
/// The factory for user interface elements which cannot be instantiated at the composition root. IMPORTANT: To allow for decoupling
/// from the particular user interface framework in use, all dynamically generated user interface elements must be generated by this
/// factory.
/// </summary>
public interface IUserInterfaceFactory : IMessageBox
{
/// <summary>

View file

@ -10,6 +10,9 @@ namespace SafeExamBrowser.Contracts.UserInterface
{
public delegate void WindowClosingEventHandler();
/// <summary>
/// Defines the functionality of a window.
/// </summary>
public interface IWindow
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.UserInterface
{
/// <summary>
/// Defines all possible results of a message box.
/// </summary>
public enum MessageBoxResult
{
None = 0,

View file

@ -13,6 +13,9 @@ namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
public delegate void ApplicationButtonClickedEventHandler(Guid? instanceId = null);
/// <summary>
/// The button of a (third-party) application which can be loaded into the <see cref="ITaskbar"/>.
/// </summary>
public interface IApplicationButton
{
/// <summary>

View file

@ -10,6 +10,9 @@ namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
public delegate void NotificationButtonClickedEventHandler();
/// <summary>
/// The button of a notification which can be loaded into the <see cref="ITaskbar"/>.
/// </summary>
public interface INotificationButton
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
/// <summary>
/// The control of a system component which can be loaded into the <see cref="ITaskbar"/>.
/// </summary>
public interface ISystemControl
{
/// <summary>

View file

@ -12,6 +12,9 @@ namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
public delegate void KeyboardLayoutSelectedEventHandler(IKeyboardLayout layout);
/// <summary>
/// The control of the keyboard layout system component.
/// </summary>
public interface ISystemKeyboardLayoutControl : ISystemControl
{
/// <summary>

View file

@ -10,6 +10,9 @@ using SafeExamBrowser.Contracts.SystemComponents;
namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
/// <summary>
/// The control of the power supply system component.
/// </summary>
public interface ISystemPowerSupplyControl : ISystemControl
{
/// <summary>

View file

@ -13,6 +13,9 @@ namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
public delegate void WirelessNetworkSelectedEventHandler(IWirelessNetwork network);
/// <summary>
/// The control of the wireless network system component.
/// </summary>
public interface ISystemWirelessNetworkControl : ISystemControl
{
/// <summary>

View file

@ -10,6 +10,10 @@ namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
public delegate void QuitButtonClickedEventHandler();
/// <summary>
/// Defines the functionality of the application taskbar. The taskbar is the main user interface element via which the user can access
/// the browser, third-party applications, system controls and so on.
/// </summary>
public interface ITaskbar
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.WindowsApi
{
/// <summary>
/// Defines rectangular bounds, e.g. used for display-related operations (see <see cref="Monitoring.IDisplayMonitor"/>).
/// </summary>
public interface IBounds
{
int Left { get; }

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.WindowsApi
{
/// <summary>
/// Defines the API to retrieve information about desktops and perform desktop-related operations.
/// </summary>
public interface IDesktop
{
/// <summary>

View file

@ -12,6 +12,9 @@ using SafeExamBrowser.Contracts.Monitoring;
namespace SafeExamBrowser.Contracts.WindowsApi
{
/// <summary>
/// Defines and wraps the functionality available via the native Windows API.
/// </summary>
public interface INativeMethods
{
/// <summary>

View file

@ -10,6 +10,9 @@ namespace SafeExamBrowser.Contracts.WindowsApi
{
public delegate void ProcessTerminatedEventHandler(int exitCode);
/// <summary>
/// Represents a process and defines its functionality.
/// </summary>
public interface IProcess
{
/// <summary>

View file

@ -8,6 +8,9 @@
namespace SafeExamBrowser.Contracts.WindowsApi
{
/// <summary>
/// The factory for processes, to be used whenever a new process needs to be created (for internal components and third-party applications).
/// </summary>
public interface IProcessFactory
{
/// <summary>