| File: System\Security\Cryptography\Cose\ToBeSignedBuilder.cs | Web Access |
| Project: src\runtime\src\libraries\System.Security.Cryptography.Cose\src\System.Security.Cryptography.Cose.csproj (System.Security.Cryptography.Cose) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Collections.Generic; using System.Text; namespace System.Security.Cryptography.Cose { internal abstract class ToBeSignedBuilder : IDisposable { // arg is passthrough - we don't do anything with it but all usages need to pass in extra Span and it's not allowed to do through closure. internal delegate void ToBeSignedOperation(Span<byte> arg, ReadOnlySpan<byte> data); private bool _disposed; public void Dispose() { if (!_disposed) { Dispose(true); _disposed = true; GC.SuppressFinalize(this); } } internal abstract void AppendToBeSigned(ReadOnlySpan<byte> data); internal abstract void AppendToBeSigned(byte[] data, int offset, int length); // arg is passthrough - we don't do anything with it but all usages need to pass in extra Span and it's not allowed to do through closure. internal abstract void WithDataAndResetAfterOperation(Span<byte> arg, ToBeSignedOperation operation); protected virtual void Dispose(bool disposing) { } } }