#pragma once #include #include #include namespace Incart::Usb { class BigByteArray { QByteArray m_buffer; QDataStream m_out; public: BigByteArray() : m_out(&m_buffer, QIODevice::WriteOnly) { } ~BigByteArray() { reset(); } void reset() { m_out.device()->reset(); m_buffer.clear(); } void append(QByteArray data) { m_out << data; } QByteArray& getBuffer() { return m_buffer; } QByteArray getBlock(uint32_t size) { return m_buffer.mid(0, size); } void removeBlock(int index, uint32_t size) { m_buffer = m_buffer.remove(index, size); } }; }; // namespace Incart::Usb