diff options
Diffstat (limited to 'dummyresource')
-rw-r--r-- | dummyresource/domainadaptor.cpp | 11 | ||||
-rw-r--r-- | dummyresource/facade.cpp | 8 | ||||
-rw-r--r-- | dummyresource/resourcefactory.cpp | 6 |
3 files changed, 18 insertions, 7 deletions
diff --git a/dummyresource/domainadaptor.cpp b/dummyresource/domainadaptor.cpp index 5d046ff..ae001cf 100644 --- a/dummyresource/domainadaptor.cpp +++ b/dummyresource/domainadaptor.cpp | |||
@@ -46,6 +46,14 @@ public: | |||
46 | return QVariant(); | 46 | return QVariant(); |
47 | } | 47 | } |
48 | 48 | ||
49 | virtual QStringList availableProperties() const | ||
50 | { | ||
51 | QStringList props; | ||
52 | props << mResourceMapper->mReadAccessors.keys(); | ||
53 | props << mLocalMapper->mReadAccessors.keys(); | ||
54 | return props; | ||
55 | } | ||
56 | |||
49 | Akonadi2::Domain::Buffer::Event const *mLocalBuffer; | 57 | Akonadi2::Domain::Buffer::Event const *mLocalBuffer; |
50 | DummyEvent const *mResourceBuffer; | 58 | DummyEvent const *mResourceBuffer; |
51 | 59 | ||
@@ -65,13 +73,14 @@ DummyEventAdaptorFactory::DummyEventAdaptorFactory() | |||
65 | 73 | ||
66 | } | 74 | } |
67 | 75 | ||
76 | //TODO pass EntityBuffer instead? | ||
68 | QSharedPointer<Akonadi2::Domain::BufferAdaptor> DummyEventAdaptorFactory::createAdaptor(const Akonadi2::Entity &entity) | 77 | QSharedPointer<Akonadi2::Domain::BufferAdaptor> DummyEventAdaptorFactory::createAdaptor(const Akonadi2::Entity &entity) |
69 | { | 78 | { |
70 | DummyEvent const *resourceBuffer = 0; | 79 | DummyEvent const *resourceBuffer = 0; |
71 | if (auto resourceData = entity.resource()) { | 80 | if (auto resourceData = entity.resource()) { |
72 | flatbuffers::Verifier verifyer(resourceData->Data(), resourceData->size()); | 81 | flatbuffers::Verifier verifyer(resourceData->Data(), resourceData->size()); |
73 | if (VerifyDummyEventBuffer(verifyer)) { | 82 | if (VerifyDummyEventBuffer(verifyer)) { |
74 | resourceBuffer = GetDummyEvent(resourceData); | 83 | resourceBuffer = GetDummyEvent(resourceData->Data()); |
75 | } | 84 | } |
76 | } | 85 | } |
77 | 86 | ||
diff --git a/dummyresource/facade.cpp b/dummyresource/facade.cpp index 5320216..f754c7e 100644 --- a/dummyresource/facade.cpp +++ b/dummyresource/facade.cpp | |||
@@ -128,7 +128,7 @@ void DummyResourceFacade::load(const Akonadi2::Query &query, const std::function | |||
128 | Akonadi2::EntityBuffer buffer(dataValue, dataSize); | 128 | Akonadi2::EntityBuffer buffer(dataValue, dataSize); |
129 | 129 | ||
130 | DummyEvent const *resourceBuffer = 0; | 130 | DummyEvent const *resourceBuffer = 0; |
131 | if (auto resourceData = buffer.resourceBuffer()) { | 131 | if (auto resourceData = buffer.entity().resource()) { |
132 | flatbuffers::Verifier verifyer(resourceData->Data(), resourceData->size()); | 132 | flatbuffers::Verifier verifyer(resourceData->Data(), resourceData->size()); |
133 | if (VerifyDummyEventBuffer(verifyer)) { | 133 | if (VerifyDummyEventBuffer(verifyer)) { |
134 | resourceBuffer = GetDummyEvent(resourceData); | 134 | resourceBuffer = GetDummyEvent(resourceData); |
@@ -136,7 +136,7 @@ void DummyResourceFacade::load(const Akonadi2::Query &query, const std::function | |||
136 | } | 136 | } |
137 | 137 | ||
138 | Akonadi2::Metadata const *metadataBuffer = 0; | 138 | Akonadi2::Metadata const *metadataBuffer = 0; |
139 | if (auto metadataData = buffer.metadataBuffer()) { | 139 | if (auto metadataData = buffer.entity().metadata()) { |
140 | flatbuffers::Verifier verifyer(metadataData->Data(), metadataData->size()); | 140 | flatbuffers::Verifier verifyer(metadataData->Data(), metadataData->size()); |
141 | if (Akonadi2::VerifyMetadataBuffer(verifyer)) { | 141 | if (Akonadi2::VerifyMetadataBuffer(verifyer)) { |
142 | metadataBuffer = Akonadi2::GetMetadata(metadataData); | 142 | metadataBuffer = Akonadi2::GetMetadata(metadataData); |
@@ -153,7 +153,9 @@ void DummyResourceFacade::load(const Akonadi2::Query &query, const std::function | |||
153 | if (preparedQuery && preparedQuery(std::string(static_cast<char*>(keyValue), keySize), resourceBuffer)) { | 153 | if (preparedQuery && preparedQuery(std::string(static_cast<char*>(keyValue), keySize), resourceBuffer)) { |
154 | qint64 revision = metadataBuffer ? metadataBuffer->revision() : -1; | 154 | qint64 revision = metadataBuffer ? metadataBuffer->revision() : -1; |
155 | auto adaptor = mFactory->createAdaptor(buffer.entity()); | 155 | auto adaptor = mFactory->createAdaptor(buffer.entity()); |
156 | auto event = QSharedPointer<Akonadi2::Domain::Event>::create("org.kde.dummy", QString::fromUtf8(static_cast<char*>(keyValue), keySize), revision, adaptor); | 156 | //TODO only copy requested properties |
157 | auto memoryAdaptor = QSharedPointer<Akonadi2::Domain::MemoryBufferAdaptor>::create(*adaptor); | ||
158 | auto event = QSharedPointer<Akonadi2::Domain::Event>::create("org.kde.dummy", QString::fromUtf8(static_cast<char*>(keyValue), keySize), revision, memoryAdaptor); | ||
157 | resultCallback(event); | 159 | resultCallback(event); |
158 | } | 160 | } |
159 | return true; | 161 | return true; |
diff --git a/dummyresource/resourcefactory.cpp b/dummyresource/resourcefactory.cpp index 87a6048..e4f7e41 100644 --- a/dummyresource/resourcefactory.cpp +++ b/dummyresource/resourcefactory.cpp | |||
@@ -122,10 +122,10 @@ void findByRemoteId(QSharedPointer<Akonadi2::Storage> storage, const QString &ri | |||
122 | return true; | 122 | return true; |
123 | } | 123 | } |
124 | 124 | ||
125 | Akonadi2::EntityBuffer::extractResourceBuffer(dataValue, dataSize, [&](const flatbuffers::Vector<uint8_t> *buffer) { | 125 | Akonadi2::EntityBuffer::extractResourceBuffer(dataValue, dataSize, [&](const uint8_t *buffer, size_t size) { |
126 | flatbuffers::Verifier verifier(buffer->Data(), buffer->size()); | 126 | flatbuffers::Verifier verifier(buffer, size); |
127 | if (DummyCalendar::VerifyDummyEventBuffer(verifier)) { | 127 | if (DummyCalendar::VerifyDummyEventBuffer(verifier)) { |
128 | DummyCalendar::DummyEvent const *resourceBuffer = DummyCalendar::GetDummyEvent(buffer->Data()); | 128 | DummyCalendar::DummyEvent const *resourceBuffer = DummyCalendar::GetDummyEvent(buffer); |
129 | if (resourceBuffer && resourceBuffer->remoteId()) { | 129 | if (resourceBuffer && resourceBuffer->remoteId()) { |
130 | if (std::string(resourceBuffer->remoteId()->c_str(), resourceBuffer->remoteId()->size()) == ridString) { | 130 | if (std::string(resourceBuffer->remoteId()->c_str(), resourceBuffer->remoteId()->size()) == ridString) { |
131 | callback(keyValue, keySize, dataValue, dataSize); | 131 | callback(keyValue, keySize, dataValue, dataSize); |