summaryrefslogtreecommitdiffstats
path: root/common/bufferutils.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-06-03 15:50:06 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-06-03 15:50:06 +0200
commit5c08ecda71cdbfd8951f9aab657cd2e2697ad0b3 (patch)
tree3178694224cd12b99111eddb1ba1b61d90ec8d60 /common/bufferutils.h
parent77562cdae63e0ec7b09e8ece6af97165ba9e48dd (diff)
downloadsink-5c08ecda71cdbfd8951f9aab657cd2e2697ad0b3.tar.gz
sink-5c08ecda71cdbfd8951f9aab657cd2e2697ad0b3.zip
Track modified properties to detect necessary replay changes
Diffstat (limited to 'common/bufferutils.h')
-rw-r--r--common/bufferutils.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/common/bufferutils.h b/common/bufferutils.h
index 1eb5d15..d6008c4 100644
--- a/common/bufferutils.h
+++ b/common/bufferutils.h
@@ -2,6 +2,7 @@
2 2
3#include <flatbuffers/flatbuffers.h> 3#include <flatbuffers/flatbuffers.h>
4#include <QByteArray> 4#include <QByteArray>
5#include <QList>
5 6
6namespace Sink { 7namespace Sink {
7namespace BufferUtils { 8namespace BufferUtils {
@@ -21,5 +22,27 @@ static QByteArray extractBuffer(const flatbuffers::FlatBufferBuilder &fbb)
21{ 22{
22 return QByteArray::fromRawData(reinterpret_cast<char const *>(fbb.GetBufferPointer()), fbb.GetSize()); 23 return QByteArray::fromRawData(reinterpret_cast<char const *>(fbb.GetBufferPointer()), fbb.GetSize());
23} 24}
25
26static QList<QByteArray> fromVector(const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> &vector)
27{
28 QList<QByteArray> list;
29 for (const auto &data : vector) {
30 Q_ASSERT(data);
31 list << QByteArray::fromStdString(data->str());
32 }
33 return list;
34}
35
36template <typename T>
37static flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> toVector(flatbuffers::FlatBufferBuilder &fbb, const T &list)
38{
39 std::vector<flatbuffers::Offset<flatbuffers::String>> modifiedPropertiesList;
40 for (const auto &change : list) {
41 auto s = fbb.CreateString(change);
42 modifiedPropertiesList.push_back(s);
43 }
44 return fbb.CreateVector(modifiedPropertiesList);
45}
46
24} 47}
25} 48}