digiKam
Loading...
Searching...
No Matches
lookupaltitude.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 : 2011-04-30
7 * Description : Base class for altitude lookup jobs
8 *
9 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2010-2011 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 <QObject>
21#include <QVariant>
22
23// local includes
24
25#include "digikam_export.h"
26#include "geocoordinates.h"
27
28namespace Digikam
29{
30
31class DIGIKAM_EXPORT LookupAltitude : public QObject
32{
33 Q_OBJECT
34
35public:
36
38 {
39 StatusInProgress = 0,
40 StatusSuccess = 1,
41 StatusCanceled = 2,
42 StatusError = 3
43 };
44 Q_DECLARE_FLAGS(StatusAltitude, StatusEnum)
45
46public:
47
48 class Request
49 {
50 public:
51
52 Request() = default;
53
54 public:
55
57 bool success = false;
58 QVariant data;
59
60 typedef QList<Request> List;
61 };
62
63public:
64
65 explicit LookupAltitude(QObject* const parent);
66 ~LookupAltitude() override = default;
67
68 virtual QString backendName() const = 0;
69 virtual QString backendHumanName() const = 0;
70
71 virtual void addRequests(const Request::List& requests) = 0;
72 virtual Request::List getRequests() const = 0;
73 virtual Request getRequest(const int index) const = 0;
74
75 virtual void startLookup() = 0;
76 virtual StatusAltitude getStatus() const = 0;
77 virtual QString errorMessage() const = 0;
78 virtual void cancel() = 0;
79
80Q_SIGNALS:
81
82 void signalRequestsReady(const QList<int>& readyRequests);
83 void signalDone();
84};
85
86} // namespace Digikam
87
88Q_DECLARE_OPERATORS_FOR_FLAGS(Digikam::LookupAltitude::StatusAltitude)
Definition geocoordinates.h:44
Definition lookupaltitude.h:49
QList< Request > List
Definition lookupaltitude.h:60
GeoCoordinates coordinates
Definition lookupaltitude.h:56
QVariant data
Definition lookupaltitude.h:58
Definition lookupaltitude.h:32
virtual StatusAltitude getStatus() const =0
~LookupAltitude() override=default
virtual void cancel()=0
virtual Request::List getRequests() const =0
void signalRequestsReady(const QList< int > &readyRequests)
virtual QString errorMessage() const =0
virtual void addRequests(const Request::List &requests)=0
virtual QString backendName() const =0
virtual void startLookup()=0
virtual QString backendHumanName() const =0
virtual Request getRequest(const int index) const =0
StatusEnum
Definition lookupaltitude.h:38
Definition datefolderview.cpp:34