File indexing completed on 2024-05-05 16:09:03

0001 /*
0002     SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include "simpleextractionresult.h"
0008 
0009 using namespace KFileMetaData;
0010 
0011 class KFileMetaData::SimpleExtractionResultPrivate
0012 {
0013 public:
0014     PropertyMultiMap m_properties;
0015     QString m_text;
0016     QVector<Type::Type> m_types;
0017 };
0018 
0019 SimpleExtractionResult::SimpleExtractionResult(const QString& url, const QString& mimetype, const Flags& flags)
0020     : ExtractionResult(url, mimetype, flags)
0021     , d(new SimpleExtractionResultPrivate)
0022 {
0023 }
0024 
0025 SimpleExtractionResult::SimpleExtractionResult(const SimpleExtractionResult& rhs)
0026     : ExtractionResult(*this)
0027     , d(new SimpleExtractionResultPrivate(*rhs.d))
0028 {
0029 }
0030 
0031 SimpleExtractionResult::~SimpleExtractionResult() = default;
0032 
0033 SimpleExtractionResult& SimpleExtractionResult::operator=(const SimpleExtractionResult& rhs)
0034 {
0035     *d = *rhs.d;
0036     return *this;
0037 }
0038 
0039 bool SimpleExtractionResult::operator==(const SimpleExtractionResult& rhs) const
0040 {
0041     return d->m_properties == rhs.d->m_properties && d->m_text == rhs.d->m_text
0042            && d->m_types == rhs.d->m_types;
0043 }
0044 
0045 void SimpleExtractionResult::add(Property::Property property, const QVariant& value)
0046 {
0047     d->m_properties.insert(property, value);
0048 }
0049 
0050 void SimpleExtractionResult::addType(Type::Type type)
0051 {
0052     d->m_types << type;
0053 }
0054 
0055 void SimpleExtractionResult::append(const QString& text)
0056 {
0057     d->m_text.append(text);
0058     d->m_text.append(QLatin1Char(' '));
0059 }
0060 
0061 #if KFILEMETADATA_BUILD_DEPRECATED_SINCE(5, 89)
0062 PropertyMap SimpleExtractionResult::properties() const
0063 {
0064     return d->m_properties;
0065 }
0066 #endif
0067 
0068 PropertyMultiMap SimpleExtractionResult::properties(PropertiesMapType) const
0069 {
0070     return d->m_properties;
0071 }
0072 
0073 QString SimpleExtractionResult::text() const
0074 {
0075     return d->m_text;
0076 }
0077 
0078 QVector<Type::Type> SimpleExtractionResult::types() const
0079 {
0080     return d->m_types;
0081 }