summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/resource.h7
-rw-r--r--dummyresource/facade.cpp3
2 files changed, 9 insertions, 1 deletions
diff --git a/common/resource.h b/common/resource.h
index bcce229..18a6827 100644
--- a/common/resource.h
+++ b/common/resource.h
@@ -26,10 +26,12 @@
26namespace Akonadi2 26namespace Akonadi2
27{ 27{
28 28
29/**
30 * Resource interface
31 */
29class AKONADI2COMMON_EXPORT Resource 32class AKONADI2COMMON_EXPORT Resource
30{ 33{
31public: 34public:
32 //TODO: configuration
33 Resource(); 35 Resource();
34 virtual ~Resource(); 36 virtual ~Resource();
35 37
@@ -44,6 +46,9 @@ private:
44 Private * const d; 46 Private * const d;
45}; 47};
46 48
49/**
50 * Factory interface for resource to implement.
51 */
47class ResourceFactory : public QObject 52class ResourceFactory : public QObject
48{ 53{
49public: 54public:
diff --git a/dummyresource/facade.cpp b/dummyresource/facade.cpp
index 980833f..af8c187 100644
--- a/dummyresource/facade.cpp
+++ b/dummyresource/facade.cpp
@@ -136,6 +136,7 @@ void DummyResourceFacade::readValue(QSharedPointer<Akonadi2::Storage> storage, c
136 auto adaptor = mFactory->createAdaptor(buffer.entity()); 136 auto adaptor = mFactory->createAdaptor(buffer.entity());
137 //TODO only copy requested properties 137 //TODO only copy requested properties
138 auto memoryAdaptor = QSharedPointer<Akonadi2::ApplicationDomain::MemoryBufferAdaptor>::create(*adaptor); 138 auto memoryAdaptor = QSharedPointer<Akonadi2::ApplicationDomain::MemoryBufferAdaptor>::create(*adaptor);
139 // here we could copy additional properties that don't have a 1:1 mapping, such as separately stored tags.
139 auto event = QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("org.kde.dummy", QByteArray::fromRawData(static_cast<char*>(keyValue), keySize), revision, memoryAdaptor); 140 auto event = QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("org.kde.dummy", QByteArray::fromRawData(static_cast<char*>(keyValue), keySize), revision, memoryAdaptor);
140 resultCallback(event); 141 resultCallback(event);
141 } 142 }
@@ -154,6 +155,8 @@ Async::Job<void> DummyResourceFacade::load(const Akonadi2::Query &query, const s
154 155
155 auto storage = QSharedPointer<Akonadi2::Storage>::create(Akonadi2::Store::storageLocation(), "org.kde.dummy"); 156 auto storage = QSharedPointer<Akonadi2::Storage>::create(Akonadi2::Store::storageLocation(), "org.kde.dummy");
156 157
158 //TODO use transaction over full query and record store revision. We'll need it to update the query.
159
157 //Index lookups 160 //Index lookups
158 QVector<QByteArray> keys; 161 QVector<QByteArray> keys;
159 if (query.propertyFilter.contains("uid")) { 162 if (query.propertyFilter.contains("uid")) {