#pragma once #include #include namespace Akonadi2 { class Entity; class EntityBuffer { public: EntityBuffer(void *dataValue, int size); const flatbuffers::Vector *resourceBuffer(); const flatbuffers::Vector *metadataBuffer(); const flatbuffers::Vector *localBuffer(); const Entity &entity(); static void extractResourceBuffer(void *dataValue, int dataSize, const std::function *)> &handler); static void assembleEntityBuffer(flatbuffers::FlatBufferBuilder &fbb, void *metadataData, size_t metadataSize, void *resourceData, size_t resourceSize, void *localData, size_t localSize); private: const Entity *mEntity; }; }