From f89e43b3603976bc0e6eb885b3b9a43a6caff1c2 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 19 Apr 2015 14:11:02 +0200 Subject: Moved client and dummyresource to examples/ --- examples/dummyresource/resourcefactory.h | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 examples/dummyresource/resourcefactory.h (limited to 'examples/dummyresource/resourcefactory.h') diff --git a/examples/dummyresource/resourcefactory.h b/examples/dummyresource/resourcefactory.h new file mode 100644 index 0000000..3b99d5e --- /dev/null +++ b/examples/dummyresource/resourcefactory.h @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2014 Aaron Seigo + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the + * Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#pragma once + +#include "common/resource.h" +#include "async/src/async.h" +#include "common/messagequeue.h" + +#include + +//TODO: a little ugly to have this in two places, once here and once in Q_PLUGIN_METADATA +#define PLUGIN_NAME "org.kde.dummy" + +class Processor; + +class DummyResource : public Akonadi2::Resource +{ +public: + DummyResource(); + Async::Job synchronizeWithSource(Akonadi2::Pipeline *pipeline); + Async::Job processAllMessages(); + void processCommand(int commandId, const QByteArray &data, uint size, Akonadi2::Pipeline *pipeline); + void configurePipeline(Akonadi2::Pipeline *pipeline); + int error() const; + +private: + void onProcessorError(int errorCode, const QString &errorMessage); + void enqueueCommand(MessageQueue &mq, int commandId, const QByteArray &data); + flatbuffers::FlatBufferBuilder m_fbb; + MessageQueue mUserQueue; + MessageQueue mSynchronizerQueue; + Processor *mProcessor; + int mError; +}; + +class DummyResourceFactory : public Akonadi2::ResourceFactory +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.kde.dummy") + Q_INTERFACES(Akonadi2::ResourceFactory) + +public: + DummyResourceFactory(QObject *parent = 0); + + Akonadi2::Resource *createResource(); + void registerFacades(Akonadi2::FacadeFactory &factory); +}; + -- cgit v1.2.3