4#include <system/exceptions.h> 
    5#include <system/io/stream.h> 
    6#include <system/io/compression/compression_level.h> 
    7#include <system/io/compression/compression_mode.h> 
   11namespace Aspose { 
namespace Brotli {
 
   17    RTTI_INFO(Aspose::Brotli::BrotliStream, ::System::BaseTypesInfo<System::IO::Stream>);
 
   39                                      System::IO::Compression::CompressionMode mode);
 
   45                                      System::IO::Compression::CompressionMode mode, 
bool leaveOpen);
 
   58                                      System::IO::Compression::CompressionMode mode,
 
   62    ASPOSECPP_SHARED_API ~BrotliStream();
 
   75    ASPOSECPP_SHARED_API int32_t 
Read(
const System::Details::ArrayView<uint8_t>& buffer, int32_t offset, int32_t count) 
override;
 
   85    ASPOSECPP_SHARED_API 
void Write(
const System::Details::ArrayView<uint8_t>& buffer, int32_t offset, int32_t count) 
override;
 
   93    ASPOSECPP_SHARED_API 
void SetLength(int64_t value) 
override;
 
   95    ASPOSECPP_SHARED_API 
void Flush() 
override;
 
  102    ASPOSECPP_SHARED_API 
bool get_CanSeek() 
const override;
 
  105    ASPOSECPP_SHARED_API 
bool get_CanRead() 
const override;
 
  108    ASPOSECPP_SHARED_API 
bool get_CanWrite() 
const override;
 
  111    ASPOSECPP_SHARED_API 
void set_Position(int64_t value) 
override;
 
  114    ASPOSECPP_SHARED_API int64_t get_Position() 
const override;
 
  117    ASPOSECPP_SHARED_API int64_t get_Length() 
const override;
 
  120    ASPOSECPP_SHARED_API 
void SetQuality(
int quality);
 
  123    ASPOSECPP_SHARED_API 
void SetMode(
int mode);
 
  126    ASPOSECPP_SHARED_API 
void SetWindow(
int windowSize);
 
  128    ASPOSECPP_SHARED_API 
void Close() 
override;
 
  131    Stream::Ptr m_stream;
 
  132    System::IO::Compression::CompressionMode m_mode;
 
  135    int m_bufferOffset = 0;
 
  136    int m_bufferCount = 0;
 
  139    int m_lastDecoderState;
 
  140    std::unique_ptr<void, std::function<
const void(
void*)>> m_encoderState;
 
  141    std::unique_ptr<void, std::function<
const void(
void*)>> m_decoderState;
 
  143    void Dispose(
bool disposing) 
override;
 
  144    void EnsureNotDisposed();
 
  145    void ValidateParameters(System::Details::ArrayView<uint8_t> buffer, 
int offset, 
int count);
 
  146    void FlushCompress(
bool finish);
 
  148    void WriteCore(System::Details::ArrayView<uint8_t> buffer, 
int offset, 
int count, 
int operation);
 
A base class for a variety of stream implementations. Objects of this class should only be allocated ...
Definition: stream.h:24
 
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
 
@ Flush
Terminate immadiately.
 
Aspose::Brotli::BrotliStream BrotliStream
An alias for Aspose::Brotli::BrotliStream.
Definition: brotli_stream.h:9
 
CompressionLevel
Specifies values that indicate whether a compression operation emphasizes speed or compression size.
Definition: compression_level.h:8
 
SeekOrigin
Specifies the reference position in the stream relative to which the position to seek to is specified...
Definition: seekorigin.h:11
 
@ Write
Stream is for writing only.
 
@ Read
Stream is for reading only.