2022-06-11 23:01:27 +00:00
|
|
|
/***
|
|
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
|
|
|
|
File: IByteBufferStreamPair.hpp
|
|
|
|
Date: 2022-6-6
|
|
|
|
Author: Reece
|
|
|
|
***/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace Aurora::IO
|
|
|
|
{
|
|
|
|
struct IByteBufferStreamPair
|
|
|
|
{
|
|
|
|
virtual AuSPtr<IStreamReader> ToStreamReader() = 0;
|
|
|
|
virtual AuSPtr<ISeekingReader> ToSeekingReader() = 0;
|
|
|
|
virtual AuSPtr<IStreamWriter> ToStreamWriter() = 0;
|
|
|
|
|
|
|
|
virtual AuSPtr<Memory::ByteBuffer> ToByteBuffer() = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
AUKN_SYM AuSPtr<IByteBufferStreamPair> NewByteBufferPair();
|
2022-08-29 15:46:46 +00:00
|
|
|
AUKN_SYM AuSPtr<IByteBufferStreamPair> NewByteBufferPairEx(AuUInt uLength, bool bPermitResize);
|
|
|
|
AUKN_SYM AuSPtr<IByteBufferStreamPair> NewRingByteBuffer(AuUInt uLength);
|
2022-06-11 23:01:27 +00:00
|
|
|
}
|