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