aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/uvsc/uvscutils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/uvsc/uvscutils.cpp')
-rw-r--r--src/plugins/debugger/uvsc/uvscutils.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/plugins/debugger/uvsc/uvscutils.cpp b/src/plugins/debugger/uvsc/uvscutils.cpp
index e3b7e8799a..a8e7d97e62 100644
--- a/src/plugins/debugger/uvsc/uvscutils.cpp
+++ b/src/plugins/debugger/uvsc/uvscutils.cpp
@@ -110,6 +110,24 @@ QByteArray encodeAmem(quint64 address, quint32 bytesCount)
return buffer;
}
+QByteArray encodeAmem(quint64 address, const QByteArray &data)
+{
+ QByteArray buffer(sizeof(AMEM) - 1, 0);
+ buffer.append(data);
+ const auto amem = reinterpret_cast<AMEM *>(buffer.data());
+ amem->address = address;
+ amem->bytesCount = data.size();
+ return buffer;
+}
+
+EXECCMD encodeCommand(const QString &cmd)
+{
+ EXECCMD exeCmd = {};
+ exeCmd.useEcho = false;
+ exeCmd.command = encodeSstr(cmd);
+ return exeCmd;
+}
+
TVAL encodeVoidTval()
{
TVAL tval = {};
@@ -238,6 +256,24 @@ QString adjustHexValue(QString hex, const QString &type)
return {};
}
+QByteArray encodeU32(quint32 value)
+{
+ QByteArray data;
+ QDataStream out(&data, QIODevice::WriteOnly);
+ out.setByteOrder(QDataStream::LittleEndian);
+ out << value;
+ return data;
+}
+
+quint32 decodeU32(const QByteArray &data)
+{
+ QDataStream in(data);
+ in.setByteOrder(QDataStream::LittleEndian);
+ quint32 value = 0;
+ in >> value;
+ return value;
+}
+
QString buildLocalId(const VARINFO &varinfo)
{
return QString::number(varinfo.id);