Restore SEBPatch
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.SystemComponents.Contracts.Network
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines all possible connection statuses which can be determined by the application.
|
||||
/// </summary>
|
||||
public enum ConnectionStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// The connection status is not determinable.
|
||||
/// </summary>
|
||||
Undefined = 0,
|
||||
|
||||
/// <summary>
|
||||
/// A connection has been established.
|
||||
/// </summary>
|
||||
Connected,
|
||||
|
||||
/// <summary>
|
||||
/// A connection is being established.
|
||||
/// </summary>
|
||||
Connecting,
|
||||
|
||||
/// <summary>
|
||||
/// No connection is established.
|
||||
/// </summary>
|
||||
Disconnected
|
||||
}
|
||||
}
|
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.SystemComponents.Contracts.Network
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines all possible connection types which can be determined by the application.
|
||||
/// </summary>
|
||||
public enum ConnectionType
|
||||
{
|
||||
/// <summary>
|
||||
/// The connection type cannot be determined.
|
||||
/// </summary>
|
||||
Undefined = 0,
|
||||
|
||||
/// <summary>
|
||||
/// A wired network connection.
|
||||
/// </summary>
|
||||
Wired,
|
||||
|
||||
/// <summary>
|
||||
/// A wireless network connection.
|
||||
/// </summary>
|
||||
Wireless
|
||||
}
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.SystemComponents.Contracts.Network.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates that the network adapter has changed.
|
||||
/// </summary>
|
||||
public delegate void ChangedEventHandler();
|
||||
}
|
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.SystemComponents.Contracts.Network.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// The event arguments for the <see cref="CredentialsRequiredEventHandler"/>.
|
||||
/// </summary>
|
||||
public class CredentialsRequiredEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The name of the network which requires credentials.
|
||||
/// </summary>
|
||||
public string NetworkName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The password as specified by the user.
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether the credentials could be successfully retrieved or not.
|
||||
/// </summary>
|
||||
public bool Success { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The username as specified by the user.
|
||||
/// </summary>
|
||||
public string Username { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.SystemComponents.Contracts.Network.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates that credentials are required to connect to a network.
|
||||
/// </summary>
|
||||
public delegate void CredentialsRequiredEventHandler(CredentialsRequiredEventArgs args);
|
||||
}
|
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
*
|
||||
* 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.Collections.Generic;
|
||||
using SafeExamBrowser.SystemComponents.Contracts.Network.Events;
|
||||
|
||||
namespace SafeExamBrowser.SystemComponents.Contracts.Network
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the functionality of the network adapter system component.
|
||||
/// </summary>
|
||||
public interface INetworkAdapter : ISystemComponent
|
||||
{
|
||||
/// <summary>
|
||||
/// The connection status of the network adapter.
|
||||
/// </summary>
|
||||
ConnectionStatus Status { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The type of the current network connection.
|
||||
/// </summary>
|
||||
ConnectionType Type { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Fired when the network adapter has changed.
|
||||
/// </summary>
|
||||
event ChangedEventHandler Changed;
|
||||
|
||||
/// <summary>
|
||||
/// Fired when credentials are required to connect to a network.
|
||||
/// </summary>
|
||||
event CredentialsRequiredEventHandler CredentialsRequired;
|
||||
|
||||
/// <summary>
|
||||
/// Attempts to connect to the wireless network with the given name.
|
||||
/// </summary>
|
||||
void ConnectToWirelessNetwork(string name);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves all currently available wireless networks.
|
||||
/// </summary>
|
||||
IEnumerable<IWirelessNetwork> GetWirelessNetworks();
|
||||
|
||||
/// <summary>
|
||||
/// Starts periodically scanning the available wireless networks.
|
||||
/// </summary>
|
||||
void StartWirelessNetworkScanning();
|
||||
|
||||
/// <summary>
|
||||
/// Stops the periodical scanning of wireless networks.
|
||||
/// </summary>
|
||||
void StopWirelessNetworkScanning();
|
||||
}
|
||||
}
|
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.SystemComponents.Contracts.Network
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines a wireless network which can be connected to by the application.
|
||||
/// </summary>
|
||||
public interface IWirelessNetwork
|
||||
{
|
||||
/// <summary>
|
||||
/// The network name.
|
||||
/// </summary>
|
||||
string Name { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The signal strength of this network, from <c>0</c> (worst) to <c>100</c> (best).
|
||||
/// </summary>
|
||||
int SignalStrength { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The connection status of this network.
|
||||
/// </summary>
|
||||
ConnectionStatus Status { get; }
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user