[+] ICompressionStream::ToSeekingStreamReader
This commit is contained in:
parent
8624499ab8
commit
5e15cadce4
@ -7,6 +7,10 @@
|
|||||||
***/
|
***/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <Aurora/IO/EStreamError.hpp>
|
||||||
|
#include <Aurora/IO/IStreamReader.hpp>
|
||||||
|
#include <Aurora/IO/ISeekingReader.hpp>
|
||||||
|
|
||||||
namespace Aurora::Compression
|
namespace Aurora::Compression
|
||||||
{
|
{
|
||||||
struct ICompressionStream
|
struct ICompressionStream
|
||||||
@ -88,5 +92,11 @@ namespace Aurora::Compression
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
virtual IO::IStreamReader *ToStreamReader() = 0;
|
virtual IO::IStreamReader *ToStreamReader() = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
virtual IO::ISeekingReader *ToSeekingStreamReader() = 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -232,4 +232,9 @@ namespace Aurora::Compression
|
|||||||
{
|
{
|
||||||
return &this->reader_;
|
return &this->reader_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IO::ISeekingReader *BaseStream::ToSeekingStreamReader()
|
||||||
|
{
|
||||||
|
return &this->reader2_;
|
||||||
|
}
|
||||||
}
|
}
|
@ -19,7 +19,8 @@ namespace Aurora::Compression
|
|||||||
inline BaseStream(AuUInt32 bufferSize = 4096 * 64) :
|
inline BaseStream(AuUInt32 bufferSize = 4096 * 64) :
|
||||||
_outbufferOwned(bufferSize, true),
|
_outbufferOwned(bufferSize, true),
|
||||||
uBufferSize_(bufferSize),
|
uBufferSize_(bufferSize),
|
||||||
reader_(AuUnsafeRaiiToShared(this))
|
reader_(AuUnsafeRaiiToShared(this)),
|
||||||
|
reader2_(AuUnsafeRaiiToShared(this))
|
||||||
{
|
{
|
||||||
SetBuffer({});
|
SetBuffer({});
|
||||||
}
|
}
|
||||||
@ -55,6 +56,7 @@ namespace Aurora::Compression
|
|||||||
virtual bool Finish() override;
|
virtual bool Finish() override;
|
||||||
|
|
||||||
virtual IO::IStreamReader *ToStreamReader() override;
|
virtual IO::IStreamReader *ToStreamReader() override;
|
||||||
|
virtual IO::ISeekingReader *ToSeekingStreamReader() override;
|
||||||
|
|
||||||
bool IsValid();
|
bool IsValid();
|
||||||
|
|
||||||
@ -70,6 +72,7 @@ namespace Aurora::Compression
|
|||||||
protected:
|
protected:
|
||||||
virtual AuStreamReadWrittenPair_t Ingest_s(AuUInt32 dwBytesFromUnprocessedInputSource) = 0;
|
virtual AuStreamReadWrittenPair_t Ingest_s(AuUInt32 dwBytesFromUnprocessedInputSource) = 0;
|
||||||
IO::Adapters::CompressionStreamReader reader_;
|
IO::Adapters::CompressionStreamReader reader_;
|
||||||
|
IO::Adapters::CompressionSeekingReader reader2_;
|
||||||
AuSPtr<Memory::ByteBuffer> pOutputBuffer_;
|
AuSPtr<Memory::ByteBuffer> pOutputBuffer_;
|
||||||
AuWPtr<Memory::ByteBuffer> wpInBuffer_;
|
AuWPtr<Memory::ByteBuffer> wpInBuffer_;
|
||||||
AuSPtr<AuIO::IStreamWriter> pOutputBufferInterface_;
|
AuSPtr<AuIO::IStreamWriter> pOutputBufferInterface_;
|
||||||
|
Loading…
Reference in New Issue
Block a user