KItinerary

documentutil.cpp
1/*
2 SPDX-FileCopyrightText: 2019 Volker Krause <vkrause@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include "documentutil.h"
8
9#include <KItinerary/JsonLdDocument>
10
11#include <QCryptographicHash>
12#include <QDebug>
13#include <QString>
14
15using namespace KItinerary;
16
23
25{
26 auto l = documentIds(obj);
27 if (!l.contains(id)) {
28 l.push_back(id);
29 setDocumentIds(obj, l);
30 return true;
31 }
32 return false;
33}
34
36{
37 auto l = documentIds(obj);
38 if (l.contains(id)) {
39 l.removeAll(id);
40 setDocumentIds(obj, l);
41 return true;
42 }
43 return false;
44}
45
46QVariantList DocumentUtil::documentIds(const QVariant &obj)
47{
48 return JsonLdDocument::readProperty(obj, "subjectOf").toList();
49}
50
51void DocumentUtil::setDocumentIds(QVariant &obj, const QVariantList &docIds)
52{
53 JsonLdDocument::writeProperty(obj, "subjectOf", docIds);
54}
static void writeProperty(QVariant &obj, const char *name, const QVariant &value)
Set property name on object obj to value value.
static QVariant readProperty(const QVariant &obj, const char *name)
Read property name on object obj.
QString idForContent(const QByteArray &data)
Determine a document identifier for the given content.
bool addDocumentId(QVariant &obj, const QString &id)
Add a document id to the object obj.
bool removeDocumentId(QVariant &obj, const QString &id)
Removes the document identifier id from object res.
void setDocumentIds(QVariant &obj, const QVariantList &docIds)
Sets the list of document identifiers for object obj.
QVariantList documentIds(const QVariant &obj)
Returns all document identifiers associated with object obj.
Classes for reservation/travel data models, data extraction and data augmentation.
Definition berelement.h:17
QByteArray toHex(char separator) const const
bool addData(QIODevice *device)
QByteArray result() const const
QString fromLatin1(QByteArrayView str)
QList< QVariant > toList() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:14:48 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.