summaryrefslogtreecommitdiffstats
path: root/dummyresource/domainadaptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dummyresource/domainadaptor.cpp')
-rw-r--r--dummyresource/domainadaptor.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/dummyresource/domainadaptor.cpp b/dummyresource/domainadaptor.cpp
index ec5e2be..d902052 100644
--- a/dummyresource/domainadaptor.cpp
+++ b/dummyresource/domainadaptor.cpp
@@ -40,9 +40,10 @@ public:
40 { 40 {
41 if (mResourceBuffer && mResourceMapper->mReadAccessors.contains(key)) { 41 if (mResourceBuffer && mResourceMapper->mReadAccessors.contains(key)) {
42 return mResourceMapper->getProperty(key, mResourceBuffer); 42 return mResourceMapper->getProperty(key, mResourceBuffer);
43 } else if (mLocalBuffer) { 43 } else if (mLocalBuffer && mLocalMapper->mReadAccessors.contains(key)) {
44 return mLocalMapper->getProperty(key, mLocalBuffer); 44 return mLocalMapper->getProperty(key, mLocalBuffer);
45 } 45 }
46 qWarning() << "no mapping available for key " << key;
46 return QVariant(); 47 return QVariant();
47 } 48 }
48 49
@@ -67,14 +68,23 @@ DummyEventAdaptorFactory::DummyEventAdaptorFactory()
67{ 68{
68 mResourceMapper = QSharedPointer<PropertyMapper<DummyEvent> >::create(); 69 mResourceMapper = QSharedPointer<PropertyMapper<DummyEvent> >::create();
69 mResourceMapper->mReadAccessors.insert("summary", [](DummyEvent const *buffer) -> QVariant { 70 mResourceMapper->mReadAccessors.insert("summary", [](DummyEvent const *buffer) -> QVariant {
70 return QString::fromStdString(buffer->summary()->c_str()); 71 if (buffer->summary()) {
72 return QString::fromStdString(buffer->summary()->c_str());
73 }
74 return QVariant();
71 }); 75 });
72 mLocalMapper = QSharedPointer<PropertyMapper<Akonadi2::Domain::Buffer::Event> >::create(); 76 mLocalMapper = QSharedPointer<PropertyMapper<Akonadi2::Domain::Buffer::Event> >::create();
73 mLocalMapper->mReadAccessors.insert("summary", [](Akonadi2::Domain::Buffer::Event const *buffer) -> QVariant { 77 mLocalMapper->mReadAccessors.insert("summary", [](Akonadi2::Domain::Buffer::Event const *buffer) -> QVariant {
74 return QString::fromStdString(buffer->summary()->c_str()); 78 if (buffer->summary()) {
79 return QString::fromStdString(buffer->summary()->c_str());
80 }
81 return QVariant();
75 }); 82 });
76 mLocalMapper->mReadAccessors.insert("uid", [](Akonadi2::Domain::Buffer::Event const *buffer) -> QVariant { 83 mLocalMapper->mReadAccessors.insert("uid", [](Akonadi2::Domain::Buffer::Event const *buffer) -> QVariant {
77 return QString::fromStdString(buffer->uid()->c_str()); 84 if (buffer->uid()) {
85 return QString::fromStdString(buffer->uid()->c_str());
86 }
87 return QVariant();
78 }); 88 });
79 89
80} 90}
@@ -94,7 +104,7 @@ QSharedPointer<Akonadi2::Domain::BufferAdaptor> DummyEventAdaptorFactory::create
94 if (auto metadataData = entity.metadata()) { 104 if (auto metadataData = entity.metadata()) {
95 flatbuffers::Verifier verifyer(metadataData->Data(), metadataData->size()); 105 flatbuffers::Verifier verifyer(metadataData->Data(), metadataData->size());
96 if (Akonadi2::VerifyMetadataBuffer(verifyer)) { 106 if (Akonadi2::VerifyMetadataBuffer(verifyer)) {
97 metadataBuffer = Akonadi2::GetMetadata(metadataData); 107 metadataBuffer = Akonadi2::GetMetadata(metadataData->Data());
98 } 108 }
99 } 109 }
100 110
@@ -102,15 +112,15 @@ QSharedPointer<Akonadi2::Domain::BufferAdaptor> DummyEventAdaptorFactory::create
102 if (auto localData = entity.local()) { 112 if (auto localData = entity.local()) {
103 flatbuffers::Verifier verifyer(localData->Data(), localData->size()); 113 flatbuffers::Verifier verifyer(localData->Data(), localData->size());
104 if (Akonadi2::Domain::Buffer::VerifyEventBuffer(verifyer)) { 114 if (Akonadi2::Domain::Buffer::VerifyEventBuffer(verifyer)) {
105 localBuffer = Akonadi2::Domain::Buffer::GetEvent(localData); 115 localBuffer = Akonadi2::Domain::Buffer::GetEvent(localData->Data());
106 } 116 }
107 } 117 }
108 118
109 auto adaptor = QSharedPointer<DummyEventAdaptor>::create(); 119 auto adaptor = QSharedPointer<DummyEventAdaptor>::create();
110 adaptor->mLocalBuffer = localBuffer; 120 adaptor->mLocalBuffer = localBuffer;
121 adaptor->mLocalMapper = mLocalMapper;
111 adaptor->mResourceBuffer = resourceBuffer; 122 adaptor->mResourceBuffer = resourceBuffer;
112 adaptor->mResourceMapper = mResourceMapper; 123 adaptor->mResourceMapper = mResourceMapper;
113 adaptor->mLocalMapper = mLocalMapper;
114 return adaptor; 124 return adaptor;
115} 125}
116 126
@@ -135,6 +145,6 @@ void DummyEventAdaptorFactory::createBuffer(const Akonadi2::Domain::Event &event
135 Akonadi2::Domain::Buffer::FinishEventBuffer(localFbb, location); 145 Akonadi2::Domain::Buffer::FinishEventBuffer(localFbb, location);
136 } 146 }
137 147
138 Akonadi2::EntityBuffer::assembleEntityBuffer(fbb, localFbb.GetBufferPointer(), localFbb.GetSize(), eventFbb.GetBufferPointer(), eventFbb.GetSize(), 0, 0); 148 Akonadi2::EntityBuffer::assembleEntityBuffer(fbb, 0, 0, eventFbb.GetBufferPointer(), eventFbb.GetSize(), localFbb.GetBufferPointer(), localFbb.GetSize());
139} 149}
140 150