diff options
Diffstat (limited to 'examples/dummyresource/dummystore.cpp')
-rw-r--r-- | examples/dummyresource/dummystore.cpp | 63 |
1 files changed, 20 insertions, 43 deletions
diff --git a/examples/dummyresource/dummystore.cpp b/examples/dummyresource/dummystore.cpp index 41b48ed..0356ec0 100644 --- a/examples/dummyresource/dummystore.cpp +++ b/examples/dummyresource/dummystore.cpp | |||
@@ -20,72 +20,49 @@ | |||
20 | 20 | ||
21 | #include <QString> | 21 | #include <QString> |
22 | 22 | ||
23 | #include "dummycalendar_generated.h" | 23 | static QMap<QString, QVariant> createEvent(int i) |
24 | #include "mail_generated.h" | ||
25 | |||
26 | static std::string createEvent(int i) | ||
27 | { | 24 | { |
25 | QMap<QString, QVariant> event; | ||
26 | event.insert("summary", QString("summary%1").arg(i)); | ||
28 | static const size_t attachmentSize = 1024*2; // 2KB | 27 | static const size_t attachmentSize = 1024*2; // 2KB |
29 | static uint8_t rawData[attachmentSize]; | 28 | event.insert("attachment", QByteArray(attachmentSize, 'c')); |
30 | static flatbuffers::FlatBufferBuilder fbb; | 29 | return event; |
31 | fbb.Clear(); | ||
32 | { | ||
33 | uint8_t *rawDataPtr = nullptr; | ||
34 | auto summary = fbb.CreateString("summary" + std::to_string(i)); | ||
35 | auto data = fbb.CreateUninitializedVector<uint8_t>(attachmentSize, &rawDataPtr); | ||
36 | DummyCalendar::DummyEventBuilder eventBuilder(fbb); | ||
37 | eventBuilder.add_summary(summary); | ||
38 | eventBuilder.add_attachment(data); | ||
39 | auto eventLocation = eventBuilder.Finish(); | ||
40 | DummyCalendar::FinishDummyEventBuffer(fbb, eventLocation); | ||
41 | memcpy((void*)rawDataPtr, rawData, attachmentSize); | ||
42 | } | ||
43 | |||
44 | return std::string(reinterpret_cast<const char *>(fbb.GetBufferPointer()), fbb.GetSize()); | ||
45 | } | 30 | } |
46 | 31 | ||
47 | static std::string createMail(int i) | 32 | static QMap<QString, QVariant> createMail(int i) |
48 | { | 33 | { |
49 | static flatbuffers::FlatBufferBuilder fbb; | 34 | QMap<QString, QVariant> mail; |
50 | fbb.Clear(); | 35 | mail.insert("subject", QString("subject%1").arg(i)); |
51 | { | 36 | return mail; |
52 | auto subject = fbb.CreateString("summary" + std::to_string(i)); | ||
53 | Akonadi2::ApplicationDomain::Buffer::MailBuilder mailBuilder(fbb); | ||
54 | mailBuilder.add_subject(subject); | ||
55 | Akonadi2::ApplicationDomain::Buffer::FinishMailBuffer(fbb, mailBuilder.Finish()); | ||
56 | } | ||
57 | |||
58 | return std::string(reinterpret_cast<const char *>(fbb.GetBufferPointer()), fbb.GetSize()); | ||
59 | } | 37 | } |
60 | 38 | ||
61 | QMap<QString, QString> populate() | 39 | QMap<QString, QMap<QString, QVariant> > populateEvents() |
62 | { | 40 | { |
63 | QMap<QString, QString> content; | 41 | QMap<QString, QMap<QString, QVariant>> content; |
64 | for (int i = 0; i < 2; i++) { | 42 | for (int i = 0; i < 2; i++) { |
65 | auto event = createEvent(i); | 43 | content.insert(QString("key%1").arg(i), createEvent(i)); |
66 | content.insert(QString("key%1").arg(i), QString::fromStdString(event)); | ||
67 | } | 44 | } |
68 | return content; | 45 | return content; |
69 | } | 46 | } |
70 | 47 | ||
71 | QMap<QString, QString> populateMails() | 48 | QMap<QString, QMap<QString, QVariant> > populateMails() |
72 | { | 49 | { |
73 | QMap<QString, QString> content; | 50 | QMap<QString, QMap<QString, QVariant>> content; |
74 | for (int i = 0; i < 2; i++) { | 51 | for (int i = 0; i < 2; i++) { |
75 | content.insert(QString("key%1").arg(i), QString::fromStdString(createMail(i))); | 52 | content.insert(QString("key%1").arg(i), createMail(i)); |
76 | } | 53 | } |
77 | return content; | 54 | return content; |
78 | } | 55 | } |
79 | 56 | ||
80 | static QMap<QString, QString> s_dataSource = populate(); | 57 | static QMap<QString, QMap<QString, QVariant> > s_eventSource = populateEvents(); |
81 | static QMap<QString, QString> s_mailSource = populateMails(); | 58 | static QMap<QString, QMap<QString, QVariant> > s_mailSource = populateMails(); |
82 | 59 | ||
83 | QMap<QString, QString> DummyStore::events() const | 60 | QMap<QString, QMap<QString, QVariant> > DummyStore::events() const |
84 | { | 61 | { |
85 | return s_dataSource; | 62 | return s_eventSource; |
86 | } | 63 | } |
87 | 64 | ||
88 | QMap<QString, QString> DummyStore::mails() const | 65 | QMap<QString, QMap<QString, QVariant> > DummyStore::mails() const |
89 | { | 66 | { |
90 | return s_mailSource; | 67 | return s_mailSource; |
91 | } | 68 | } |