AuroraRuntime/Include/Aurora/IO/Buffered/BlobWriter.hpp
Reece 510928e62e [*] Linux should not raise int3 unless the binary is a debug one
TODO: investigate registering an int3 signal handler to prevent crashing under internal builds
[*] Amend MemoryViews
[*] Begin shifting towards MemoryView based binary APIs
[*] Fix public RSA key leak
[+] Some clean up and possible bug fixes
2021-09-15 00:56:26 +01:00

49 lines
1.0 KiB
C++

/***
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: BlobWriter.hpp
Date: 2021-6-10
Author: Reece
***/
#pragma once
namespace Aurora::IO::Buffered
{
class BlobWriter : public IStreamWriter
{
public:
AU_NO_COPY_NO_MOVE(BlobWriter)
BlobWriter() {}
~BlobWriter() {}
virtual EStreamError Open() override
{
return EStreamError::eErrorNone;
}
virtual EStreamError Write(Memory::MemoryViewStreamRead parameters) override
{
auto idx = buffer_.size();
buffer_.resize(idx + parameters.length);
std::memcpy(buffer_.data() + idx, parameters.ptr, buffer_.size() - idx);
return EStreamError::eErrorNone;
}
virtual void Flush() override
{
}
virtual void Close() override
{
}
const AuList<AuUInt8> &GetBuffer()
{
return this->buffer_;
}
private:
AuList<AuUInt8> buffer_;
};
}