2023-10-12 20:18:11 -04:00
|
|
|
// 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);
|
|
|
|
}
|
|
|
|
|
2023-12-09 22:35:59 -05:00
|
|
|
void QHexBuffer::readRaw(char *data, int size)
|
2023-10-12 20:18:11 -04:00
|
|
|
{
|
|
|
|
QBuffer *buffer = new QBuffer(this);
|
|
|
|
buffer->setData(data, size);
|
|
|
|
|
|
|
|
if (!buffer->isOpen())
|
|
|
|
buffer->open(QBuffer::ReadWrite);
|
|
|
|
|
2023-12-09 22:35:59 -05:00
|
|
|
this->readDevice(buffer);
|
2023-10-12 20:18:11 -04:00
|
|
|
}
|
|
|
|
|
2023-12-09 22:35:59 -05:00
|
|
|
void QHexBuffer::readArray(const QByteArray &ba)
|
2023-10-12 20:18:11 -04:00
|
|
|
{
|
|
|
|
QBuffer *buffer = new QBuffer(this);
|
|
|
|
|
|
|
|
buffer->setData(ba);
|
|
|
|
if (!buffer->isOpen())
|
|
|
|
buffer->open(QBuffer::ReadWrite);
|
|
|
|
|
2023-12-09 22:35:59 -05:00
|
|
|
this->readDevice(buffer);
|
2023-10-12 20:18:11 -04:00
|
|
|
}
|
2023-12-09 21:57:50 -05:00
|
|
|
|
|
|
|
#include "moc_qhexbuffer.cpp"
|