1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-23 12:37:45 +00:00
novus/parts/hex/document/buffer/qhexbuffer.cpp

47 lines
892 B
C++

// SPDX-FileCopyrightText: 2014 Dax89
// SPDX-License-Identifier: MIT
#include "qhexbuffer.h"
#include <QBuffer>
QHexBuffer::QHexBuffer(QObject *parent)
: QObject(parent)
{
}
uchar QHexBuffer::at(qint64 idx)
{
return this->read(idx, 1)[0];
}
bool QHexBuffer::isEmpty() const
{
return this->length() <= 0;
}
void QHexBuffer::replace(qint64 offset, const QByteArray &data)
{
this->remove(offset, data.length());
this->insert(offset, data);
}
void QHexBuffer::read(char *data, int size)
{
QBuffer *buffer = new QBuffer(this);
buffer->setData(data, size);
if (!buffer->isOpen())
buffer->open(QBuffer::ReadWrite);
this->read(buffer);
}
void QHexBuffer::read(const QByteArray &ba)
{
QBuffer *buffer = new QBuffer(this);
buffer->setData(ba);
if (!buffer->isOpen())
buffer->open(QBuffer::ReadWrite);
this->read(buffer);
}