summaryrefslogtreecommitdiffstats
path: root/buffertest/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'buffertest/main.cpp')
-rw-r--r--buffertest/main.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/buffertest/main.cpp b/buffertest/main.cpp
new file mode 100644
index 0000000..5bc2326
--- /dev/null
+++ b/buffertest/main.cpp
@@ -0,0 +1,38 @@
1#include "calendar_generated.h"
2#include <iostream>
3#include <fstream>
4
5using namespace Calendar;
6using namespace flatbuffers;
7
8std::string createEvent()
9{
10 FlatBufferBuilder fbb;
11 {
12 auto summary = fbb.CreateString("summary");
13 const int attachmentSize = 1024 * 1024; // 1MB
14 int8_t rawData[attachmentSize];
15 auto data = fbb.CreateVector(rawData, attachmentSize);
16
17 Calendar::EventBuilder eventBuilder(fbb);
18 eventBuilder.add_summary(summary);
19 eventBuilder.add_attachment(data);
20 auto eventLocation = eventBuilder.Finish();
21 FinishEventBuffer(fbb, eventLocation);
22 }
23 return std::string(reinterpret_cast<const char *>(fbb.GetBufferPointer()), fbb.GetSize());
24}
25
26void readEvent(const std::string &data)
27{
28 auto readEvent = GetEvent(data.c_str());
29 std::cout << readEvent->summary()->c_str() << std::endl;
30}
31
32int main(int argc, char **argv)
33{
34 std::ofstream myfile;
35 myfile.open ("buffer.fb");
36 myfile << createEvent();
37 myfile.close();
38}