1
/* ============================================================
3
* This file is a part of kipi-plugins project
4
* http://www.digikam.org
7
* Description : Integration of the Photivo RAW-Processor.
9
* Copyright (C) 2012 by Dominic Lyons <domlyons at googlemail dot com>
11
* This program is free software; you can redistribute it
12
* and/or modify it under the terms of the GNU General
13
* Public License as published by the Free Software Foundation;
14
* either version 2, or (at your option) any later version.
16
* This program is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU General Public License for more details.
21
* ============================================================ */
32
#include "kpmetadata.h"
35
using namespace KIPIPlugins;
37
namespace KIPIPhotivoIntegrationPlugin
40
/* NOTE: As we only need to use known properties for this purpose we can use
41
* simple structs. This simple, fast and less error prone.
42
* For more generic requirements a hash map could be used instead. */
44
// forward declarations for some data structs declared below
46
struct XmpMMDerivedFrom;
48
/*!****************************************************************************
49
* Encapsulate and manage xmpMM data
61
XmpMM(const KPMetadata meta)
66
void load(const KPMetadata& meta);
67
QString pureID(const QString& id) const;
71
QString originalDocumentID;
74
vector<XmpMMDerivedFrom> derivedFrom;
75
vector<XmpMMHistory> history;
79
void loadHistory(const KExiv2::MetaDataMap& mmMap);
80
void loadIDs(const KExiv2::MetaDataMap& mmMap);
83
/*!****************************************************************************
84
* Simple data-only struct to encapsulate a single xmpMM "history" item
93
/*!****************************************************************************
94
*Simple data-only struct to encapsulate a single xmpMM "derivedFrom" item
96
struct XmpMMDerivedFrom
102
} // namespace KIPIPhotivoIntegrationPlugin