seb-win-refactoring/SafeExamBrowser.Contracts/Monitoring/IProcessMonitor.cs

49 lines
1.4 KiB
C#

/*
* Copyright (c) 2017 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;
namespace SafeExamBrowser.Contracts.Monitoring
{
public delegate void ExplorerStartedHandler();
public interface IProcessMonitor
{
/// <summary>
/// Event fired when the process monitor observes that a new instance of
/// the Windows explorer has been started.
/// </summary>
event ExplorerStartedHandler ExplorerStarted;
/// <summary>
/// Performs a check whether the process associated to the given window is allowed.
/// </summary>
bool BelongsToAllowedProcess(IntPtr window);
/// <summary>
/// Terminates the Windows explorer shell, i.e. the taskbar.
/// </summary>
void CloseExplorerShell();
/// <summary>
/// Starts a new instance of the Windows explorer shell.
/// </summary>
void StartExplorerShell();
/// <summary>
/// Starts monitoring the Windows explorer, i.e. any newly created instances of
/// <c>explorer.exe</c> will trigger the <c>ExplorerStarted</c> event.
/// </summary>
void StartMonitoringExplorer();
/// <summary>
/// Stops monitoring the Windows explorer.
/// </summary>
void StopMonitoringExplorer();
}
}