digiKam
Loading...
Searching...
No Matches
trackreader.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2006-09-19
7 * Description : Track file reader
8 *
9 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2010-2014 by Michael G. Hansen <mike at mghansen dot de>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QXmlStreamReader>
21
22// local includes
23
24#include "trackmanager.h"
25#include "digikam_export.h"
26
27class TestTracks;
28
29namespace Digikam
30{
31
32class DIGIKAM_EXPORT TrackReader : public QObject
33{
34 Q_OBJECT
35
36public:
37
39 {
40 public:
41
42 TrackReadResult() = default;
43
45 bool isValid = false;
46 QString loadError;
47
48 typedef QList<TrackReadResult> List;
49 };
50
51public:
52
53 explicit TrackReader(TrackReadResult* const dataTarget);
54 ~TrackReader() override;
55
56 static TrackReadResult loadTrackFile(const QUrl& url);
57 static QDateTime ParseTime(const QString& tstring);
58
59private:
60
61 void parseTrack(QXmlStreamReader& xml);
62 explicit TrackReader(QObject*);
63
64private:
65
66 class Private;
67 const QScopedPointer<Private> d;
68
69 friend class ::TestTracks;
70};
71
72} // namespace Digikam
Definition trackmanager.h:81
Definition trackreader.h:39
QList< TrackReadResult > List
Definition trackreader.h:48
QString loadError
Definition trackreader.h:46
TrackManager::Track track
Definition trackreader.h:44
Definition trackreader.h:33
Definition datefolderview.cpp:34