Restore SEBPatch
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
* Copyright (c) 2025 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
|
||||
@@ -18,11 +18,11 @@ namespace SafeExamBrowser.Core.OperationModel
|
||||
/// <summary>
|
||||
/// Default implementation of the <see cref="IOperationSequence"/>.
|
||||
/// </summary>
|
||||
public class OperationSequence : IOperationSequence
|
||||
public class OperationSequence<T> : IOperationSequence where T : IOperation
|
||||
{
|
||||
protected ILogger logger;
|
||||
protected Queue<IOperation> operations = new Queue<IOperation>();
|
||||
protected Stack<IOperation> stack = new Stack<IOperation>();
|
||||
protected Queue<T> operations = new Queue<T>();
|
||||
protected Stack<T> stack = new Stack<T>();
|
||||
|
||||
public event ActionRequiredEventHandler ActionRequired
|
||||
{
|
||||
@@ -38,10 +38,10 @@ namespace SafeExamBrowser.Core.OperationModel
|
||||
remove { operations.ForEach(o => o.StatusChanged -= value); }
|
||||
}
|
||||
|
||||
public OperationSequence(ILogger logger, Queue<IOperation> operations)
|
||||
public OperationSequence(ILogger logger, IEnumerable<T> operations)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.operations = new Queue<IOperation>(operations);
|
||||
this.operations = new Queue<T>(operations);
|
||||
}
|
||||
|
||||
public virtual OperationResult TryPerform()
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
* Copyright (c) 2025 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
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
* Copyright (c) 2025 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
|
||||
@@ -17,13 +17,10 @@ namespace SafeExamBrowser.Core.OperationModel
|
||||
/// <summary>
|
||||
/// Default implementation of the <see cref="IRepeatableOperationSequence"/>.
|
||||
/// </summary>
|
||||
public class RepeatableOperationSequence : OperationSequence, IRepeatableOperationSequence
|
||||
public class RepeatableOperationSequence<T> : OperationSequence<T>, IRepeatableOperationSequence where T : IRepeatableOperation
|
||||
{
|
||||
private new Queue<IRepeatableOperation> operations;
|
||||
|
||||
public RepeatableOperationSequence(ILogger logger, Queue<IRepeatableOperation> operations) : base(logger, new Queue<IOperation>(operations))
|
||||
public RepeatableOperationSequence(ILogger logger, IEnumerable<T> operations) : base(logger, operations)
|
||||
{
|
||||
this.operations = new Queue<IRepeatableOperation>(operations);
|
||||
}
|
||||
|
||||
public OperationResult TryRepeat()
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
* Copyright (c) 2025 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
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
* Copyright (c) 2025 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
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
* Copyright (c) 2025 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
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2024 ETH Zürich, IT Services
|
||||
* Copyright (c) 2025 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
|
||||
|
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
||||
[assembly: AssemblyDescription("Safe Exam Browser")]
|
||||
[assembly: AssemblyCompany("ETH Zürich")]
|
||||
[assembly: AssemblyProduct("SafeExamBrowser.Core")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2024 ETH Zürich, IT Services")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2025 ETH Zürich, IT Services")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
|
@@ -64,6 +64,7 @@
|
||||
<Compile Include="Operations\DelegateOperation.cs" />
|
||||
<Compile Include="OperationModel\OperationSequence.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ResponsibilityModel\ResponsibilityCollection.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SafeExamBrowser.Communication.Contracts\SafeExamBrowser.Communication.Contracts.csproj">
|
||||
|
Reference in New Issue
Block a user