From 855e3d7d0e3779e76e5af55bbf4c851acbd76e56 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 9 Apr 2015 14:23:16 +0200 Subject: Started a facade base implementation. --- dummyresource/facade.cpp | 34 +++------------------------------- dummyresource/facade.h | 11 +++-------- 2 files changed, 6 insertions(+), 39 deletions(-) (limited to 'dummyresource') diff --git a/dummyresource/facade.cpp b/dummyresource/facade.cpp index 1af735e..209ad0d 100644 --- a/dummyresource/facade.cpp +++ b/dummyresource/facade.cpp @@ -28,7 +28,6 @@ #include "event_generated.h" #include "entity_generated.h" #include "metadata_generated.h" -#include "createentity_generated.h" #include "domainadaptor.h" #include #include @@ -37,9 +36,9 @@ using namespace DummyCalendar; using namespace flatbuffers; + DummyResourceFacade::DummyResourceFacade() - : Akonadi2::StoreFacade(), - mResourceAccess(new Akonadi2::ResourceAccess("org.kde.dummy")), + : Akonadi2::GenericFacade("org.kde.dummy"), mFactory(new DummyEventAdaptorFactory) { } @@ -52,15 +51,7 @@ Async::Job DummyResourceFacade::create(const Akonadi2::Domain::Event &doma { flatbuffers::FlatBufferBuilder entityFbb; mFactory->createBuffer(domainObject, entityFbb); - - flatbuffers::FlatBufferBuilder fbb; - //This is the resource buffer type and not the domain type - auto type = fbb.CreateString("event"); - auto delta = Akonadi2::EntityBuffer::appendAsVector(fbb, entityFbb.GetBufferPointer(), entityFbb.GetSize()); - auto location = Akonadi2::Commands::CreateCreateEntity(fbb, type, delta); - Akonadi2::Commands::FinishCreateEntityBuffer(fbb, location); - mResourceAccess->open(); - return mResourceAccess->sendCommand(Akonadi2::Commands::CreateEntityCommand, fbb); + return sendCreateCommand("event", QByteArray::fromRawData(reinterpret_cast(entityFbb.GetBufferPointer()), entityFbb.GetSize())); } Async::Job DummyResourceFacade::modify(const Akonadi2::Domain::Event &domainObject) @@ -115,25 +106,6 @@ static std::function DummyResourceFacade::synchronizeResource(bool sync, bool processAll) -{ - //TODO check if a sync is necessary - //TODO Only sync what was requested - //TODO timeout - //TODO the synchronization should normally not be necessary: We just return what is already available. - - if (sync || processAll) { - return Async::start([=](Async::Future &future) { - mResourceAccess->open(); - mResourceAccess->synchronizeResource(sync, processAll).then([&future](Async::Future &f) { - future.setFinished(); - f.setFinished(); - }).exec(); - }); - } - return Async::null(); -} - void DummyResourceFacade::readValue(QSharedPointer storage, const QByteArray &key, const std::function &resultCallback, std::function preparedQuery) { storage->scan(key, [=](void *keyValue, int keySize, void *dataValue, int dataSize) -> bool { diff --git a/dummyresource/facade.h b/dummyresource/facade.h index 1f69161..195c50f 100644 --- a/dummyresource/facade.h +++ b/dummyresource/facade.h @@ -19,6 +19,8 @@ #pragma once +#include "common/facade.h" + #include "common/clientapi.h" #include "common/storage.h" #include "resourcefactory.h" @@ -27,12 +29,7 @@ #include "dummycalendar_generated.h" #include "common/domainadaptor.h" -namespace Akonadi2 { - class ResourceAccess; -} - - -class DummyResourceFacade : public Akonadi2::StoreFacade +class DummyResourceFacade : public Akonadi2::GenericFacade { public: DummyResourceFacade(); @@ -44,7 +41,5 @@ public: private: void readValue(QSharedPointer storage, const QByteArray &key, const std::function &resultCallback, std::function); - Async::Job synchronizeResource(bool sync, bool processAll); - QSharedPointer mResourceAccess; QSharedPointer > mFactory; }; -- cgit v1.2.3