summaryrefslogtreecommitdiffstats
path: root/dummyresource/domainadaptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dummyresource/domainadaptor.cpp')
-rw-r--r--dummyresource/domainadaptor.cpp31
1 files changed, 30 insertions, 1 deletions
diff --git a/dummyresource/domainadaptor.cpp b/dummyresource/domainadaptor.cpp
index 9bd3770..ec5e2be 100644
--- a/dummyresource/domainadaptor.cpp
+++ b/dummyresource/domainadaptor.cpp
@@ -70,7 +70,12 @@ DummyEventAdaptorFactory::DummyEventAdaptorFactory()
70 return QString::fromStdString(buffer->summary()->c_str()); 70 return QString::fromStdString(buffer->summary()->c_str());
71 }); 71 });
72 mLocalMapper = QSharedPointer<PropertyMapper<Akonadi2::Domain::Buffer::Event> >::create(); 72 mLocalMapper = QSharedPointer<PropertyMapper<Akonadi2::Domain::Buffer::Event> >::create();
73 //TODO set accessors for all properties 73 mLocalMapper->mReadAccessors.insert("summary", [](Akonadi2::Domain::Buffer::Event const *buffer) -> QVariant {
74 return QString::fromStdString(buffer->summary()->c_str());
75 });
76 mLocalMapper->mReadAccessors.insert("uid", [](Akonadi2::Domain::Buffer::Event const *buffer) -> QVariant {
77 return QString::fromStdString(buffer->uid()->c_str());
78 });
74 79
75} 80}
76 81
@@ -109,3 +114,27 @@ QSharedPointer<Akonadi2::Domain::BufferAdaptor> DummyEventAdaptorFactory::create
109 return adaptor; 114 return adaptor;
110} 115}
111 116
117void DummyEventAdaptorFactory::createBuffer(const Akonadi2::Domain::Event &event, flatbuffers::FlatBufferBuilder &fbb)
118{
119 flatbuffers::FlatBufferBuilder eventFbb;
120 eventFbb.Clear();
121 {
122 auto summary = eventFbb.CreateString(event.getProperty("summary").toString().toStdString());
123 DummyCalendar::DummyEventBuilder eventBuilder(eventFbb);
124 eventBuilder.add_summary(summary);
125 auto eventLocation = eventBuilder.Finish();
126 DummyCalendar::FinishDummyEventBuffer(eventFbb, eventLocation);
127 }
128
129 flatbuffers::FlatBufferBuilder localFbb;
130 {
131 auto uid = localFbb.CreateString(event.getProperty("uid").toString().toStdString());
132 auto localBuilder = Akonadi2::Domain::Buffer::EventBuilder(localFbb);
133 localBuilder.add_uid(uid);
134 auto location = localBuilder.Finish();
135 Akonadi2::Domain::Buffer::FinishEventBuffer(localFbb, location);
136 }
137
138 Akonadi2::EntityBuffer::assembleEntityBuffer(fbb, localFbb.GetBufferPointer(), localFbb.GetSize(), eventFbb.GetBufferPointer(), eventFbb.GetSize(), 0, 0);
139}
140