summaryrefslogtreecommitdiffstats
path: root/common/entitybuffer.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2014-12-31 01:13:00 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2014-12-31 01:13:00 +0100
commit817bff01d15395206c1cc637d0c9ac0905007bf1 (patch)
tree918e6d992879f40b62273dc4cd9618f7bbd9b49c /common/entitybuffer.cpp
parent80149f959f254b1d52c0b5e883c4e76284f8abaf (diff)
downloadsink-817bff01d15395206c1cc637d0c9ac0905007bf1.tar.gz
sink-817bff01d15395206c1cc637d0c9ac0905007bf1.zip
Moved entitybuffer construction code to EntityBuffer
Diffstat (limited to 'common/entitybuffer.cpp')
-rw-r--r--common/entitybuffer.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/common/entitybuffer.cpp b/common/entitybuffer.cpp
index a78e91d..b9c9d76 100644
--- a/common/entitybuffer.cpp
+++ b/common/entitybuffer.cpp
@@ -51,3 +51,17 @@ void EntityBuffer::extractResourceBuffer(void *dataValue, int dataSize, const st
51 } 51 }
52} 52}
53 53
54void EntityBuffer::assembleEntityBuffer(flatbuffers::FlatBufferBuilder &fbb, void *metadataData, size_t metadataSize, void *resourceData, size_t resourceSize, void *localData, size_t localSize)
55{
56 auto metadata = fbb.CreateVector<uint8_t>(static_cast<uint8_t*>(metadataData), metadataSize);
57 auto resource = fbb.CreateVector<uint8_t>(static_cast<uint8_t*>(resourceData), resourceSize);
58 auto local = fbb.CreateVector<uint8_t>(static_cast<uint8_t*>(localData), localSize);
59 auto builder = Akonadi2::EntityBuilder(fbb);
60 builder.add_metadata(metadata);
61 builder.add_resource(resource);
62 builder.add_local(local);
63
64 auto buffer = builder.Finish();
65 Akonadi2::FinishEntityBuffer(fbb, buffer);
66}
67