From d5526368825c5bbfe204d08d5de3d2069976596d Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 8 Sep 2015 22:28:38 +0200 Subject: A folder dummy folder facade and a folder property for mails. Mails in inbox! --- examples/dummyresource/facade.cpp | 23 +++++++++++++++++++++++ examples/dummyresource/facade.h | 11 +++++++++++ examples/dummyresource/resourcefactory.cpp | 16 ++++++++++------ 3 files changed, 44 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/dummyresource/facade.cpp b/examples/dummyresource/facade.cpp index 63f84f2..5a9d722 100644 --- a/examples/dummyresource/facade.cpp +++ b/examples/dummyresource/facade.cpp @@ -38,3 +38,26 @@ DummyResourceMailFacade::DummyResourceMailFacade(const QByteArray &instanceIdent DummyResourceMailFacade::~DummyResourceMailFacade() { } + +static void addFolder(const QSharedPointer > &resultProvider, QByteArray uid, QString name, QString icon) +{ + auto folder = Akonadi2::ApplicationDomain::Folder::Ptr::create(); + folder->setProperty("name", name); + folder->setProperty("uid", uid); + resultProvider->add(folder); +} + +KAsync::Job load(const Akonadi2::Query &query, const QSharedPointer > &resultProvider) +{ + //Dummy implementation for a fixed set of folders + addFolder(resultProvider, "inbox", "INBOX", "mail-folder-inbox"); + addFolder(resultProvider, "sent", "Sent", "mail-folder-sent"); + addFolder(resultProvider, "trash", "Trash", "user-trash"); + addFolder(resultProvider, "drafts", "Drafts", "document-edit"); + addFolder(resultProvider, "1", "dragons", "folder"); + addFolder(resultProvider, "1", "super mega long tailed dragons", "folder"); + resultProvider->initialResultSetComplete(); + resultProvider->complete(); + return KAsync::null(); +} + diff --git a/examples/dummyresource/facade.h b/examples/dummyresource/facade.h index 87f68c3..948116b 100644 --- a/examples/dummyresource/facade.h +++ b/examples/dummyresource/facade.h @@ -35,3 +35,14 @@ public: DummyResourceMailFacade(const QByteArray &instanceIdentifier); virtual ~DummyResourceMailFacade(); }; + +class DummyResourceFolderFacade : public Akonadi2::StoreFacade +{ +public: + DummyResourceFolderFacade(const QByteArray &instanceIdentifier); + virtual ~DummyResourceFolderFacade(); + virtual KAsync::Job create(const Akonadi2::ApplicationDomain::Folder &domainObject) { return KAsync::null(); }; + virtual KAsync::Job modify(const Akonadi2::ApplicationDomain::Folder &domainObject) { return KAsync::null(); }; + virtual KAsync::Job remove(const Akonadi2::ApplicationDomain::Folder &domainObject) { return KAsync::null(); }; + virtual KAsync::Job load(const Akonadi2::Query &query, const QSharedPointer > &resultProvider); +}; diff --git a/examples/dummyresource/resourcefactory.cpp b/examples/dummyresource/resourcefactory.cpp index 8d605b9..147cb22 100644 --- a/examples/dummyresource/resourcefactory.cpp +++ b/examples/dummyresource/resourcefactory.cpp @@ -109,15 +109,19 @@ void DummyResource::createMail(const QByteArray &ridBuffer, const QByteArray &da //Map the source format to the buffer format (which happens to be an exact copy here) auto subject = m_fbb.CreateString(mailBuffer->subject()->c_str()); auto rid = m_fbb.CreateString(std::string(ridBuffer.constData(), ridBuffer.size())); - // auto description = m_fbb.CreateString(std::string(ridBuffer.constData(), ridBuffer.size())); - // static uint8_t rawData[100]; - // auto attachment = Akonadi2::EntityBuffer::appendAsVector(m_fbb, rawData, 100); + auto sender = m_fbb.CreateString(std::string("sender@example.org")); + auto senderName = m_fbb.CreateString(std::string("Sender Name")); + auto date = m_fbb.CreateString(std::string("2004")); + auto folder = m_fbb.CreateString(std::string("inbox")); auto builder = Akonadi2::ApplicationDomain::Buffer::MailBuilder(m_fbb); builder.add_subject(subject); - // builder.add(rid); - // builder.add_description(description); - // builder.add_attachment(attachment); + builder.add_sender(sender); + builder.add_senderName(senderName); + builder.add_unread(true); + builder.add_important(false); + builder.add_date(date); + builder.add_folder(folder); auto buffer = builder.Finish(); Akonadi2::ApplicationDomain::Buffer::FinishMailBuffer(m_fbb, buffer); Akonadi2::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, 0, 0, m_fbb.GetBufferPointer(), m_fbb.GetSize()); -- cgit v1.2.3