#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR) #pragma warning disable #if !PORTABLE || NETFX_CORE || DOTNET using System; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms { /** * a holding class for a file of data to be processed. */ public class CmsProcessableFile : CmsProcessable, CmsReadable { private const int DefaultBufSize = 32 * 1024; private readonly FileInfo _file; private readonly int _bufSize; public CmsProcessableFile(FileInfo file) : this(file, DefaultBufSize) { } public CmsProcessableFile(FileInfo file, int bufSize) { _file = file; _bufSize = bufSize; } public virtual Stream GetInputStream() { return new FileStream(_file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read, _bufSize); } public virtual void Write(Stream zOut) { Stream inStr = _file.OpenRead(); Streams.PipeAll(inStr, zOut, _bufSize); BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.Dispose(inStr); } /// The file handle [Obsolete] public virtual object GetContent() { return _file; } } } #endif #pragma warning restore #endif