From d8cd2d6585507a4e40881092a633ec1a80b14dd9 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 18 Jan 2016 15:17:30 +0100 Subject: Draft of inspection API --- common/resourceaccess.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'common/resourceaccess.cpp') diff --git a/common/resourceaccess.cpp b/common/resourceaccess.cpp index 7be1259..65e9a8c 100644 --- a/common/resourceaccess.cpp +++ b/common/resourceaccess.cpp @@ -30,6 +30,7 @@ #include "common/modifyentity_generated.h" #include "common/deleteentity_generated.h" #include "common/revisionreplayed_generated.h" +#include "common/inspection_generated.h" #include "common/entitybuffer.h" #include "log.h" @@ -37,6 +38,8 @@ #include #include #include +#include +#include #undef Trace #define Trace() Akonadi2::Log::debugStream(Akonadi2::Log::DebugLevel::Trace, __LINE__, __FILE__, Q_FUNC_INFO, "ResourceAccess") @@ -338,6 +341,25 @@ KAsync::Job ResourceAccess::sendRevisionReplayedCommand(qint64 revision) return sendCommand(Akonadi2::Commands::RevisionReplayedCommand, fbb); } +KAsync::Job ResourceAccess::sendInspectionCommand(const QByteArray &inspectionId, const QByteArray &domainType, const QByteArray &entityId, const QByteArray &property, const QVariant &expectedValue) +{ + flatbuffers::FlatBufferBuilder fbb; + auto id = fbb.CreateString(inspectionId.toStdString()); + auto domain = fbb.CreateString(domainType.toStdString()); + auto entity = fbb.CreateString(entityId.toStdString()); + auto prop = fbb.CreateString(property.toStdString()); + + QByteArray array; + QDataStream s(&array, QIODevice::WriteOnly); + s << expectedValue; + + auto expected = fbb.CreateString(array.toStdString()); + auto location = Akonadi2::Commands::CreateInspection (fbb, id, 0, entity, domain, prop, expected); + Akonadi2::Commands::FinishInspectionBuffer(fbb, location); + open(); + return sendCommand(Akonadi2::Commands::InspectionCommand, fbb); +} + void ResourceAccess::open() { if (d->socket && d->socket->isValid()) { -- cgit v1.2.3