/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuIOAdapterByteBuffer.cpp Date: 2022-6-6 Author: Reece ***/ #include #include #include "AuIOAdapterByteBuffer.hpp" namespace Aurora::IO::Adapters { AUKN_SYM AuSPtr NewByteBufferReadAdapter(const AuSPtr &pBuffer) { SysCheckArgNotNull(pBuffer, {}); SysCheckRetExpNotNullMemory(AuMakeShared(pBuffer), {}); } AUKN_SYM AuSPtr NewByteBufferLinearReadSeekableAdapter(const AuSPtr &pBuffer) { SysCheckArgNotNull(pBuffer, {}); if (pBuffer->flagCircular) { SysPushErrorIO("Seekable buffer must not be circular"); return {}; } SysCheckRetExpNotNullMemory(AuMakeShared(pBuffer), {}); } AUKN_SYM AuSPtr NewByteBufferLinearWriteSeekableAdapter(const AuSPtr &pBuffer) { SysCheckArgNotNull(pBuffer, {}); if (pBuffer->flagCircular) { SysPushErrorIO("Seekable buffer must not be circular"); return {}; } SysCheckRetExpNotNullMemory(AuMakeShared(pBuffer), {}); } AUKN_SYM AuSPtr NewByteBufferWriteAdapter(const AuSPtr &pBuffer) { SysCheckArgNotNull(pBuffer, {}); SysCheckRetExpNotNullMemory(AuMakeShared(pBuffer), {}); } }