mirror of
https://github.com/redstrate/Novus.git
synced 2025-04-23 12:37:45 +00:00
47 lines
892 B
C++
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);
|
|
}
|