/*
* Copyright (c) 2019 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 SafeExamBrowser.Contracts.Monitoring.Events;
namespace SafeExamBrowser.Contracts.Monitoring
{
///
/// Monitors the processes running on the computer and provides access to process-related functionality.
///
public interface IProcessMonitor
{
///
/// Event fired when the process monitor observes that a new instance of the Windows explorer has been started.
///
event ExplorerStartedEventHandler ExplorerStarted;
///
/// Performs a check whether the process associated to the given window is allowed.
///
bool BelongsToAllowedProcess(IntPtr window);
///
/// Starts monitoring the Windows explorer, i.e. any newly created instances of explorer.exe will trigger the
/// event.
///
void StartMonitoringExplorer();
///
/// Stops monitoring the Windows explorer.
///
void StopMonitoringExplorer();
}
}