QXmpp Version: 1.12.0
Loading...
Searching...
No Matches
QXmppGeolocItem.h
1// SPDX-FileCopyrightText: 2022 Cochise César <cochisecesar@zoho.com>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef QXMPPGEOLOCITEM_H
6#define QXMPPGEOLOCITEM_H
7
8#include "QXmppConstants_p.h"
9#include "QXmppPubSubBaseItem.h"
10
11#include <optional>
12
13#include <QSharedDataPointer>
14
15class QXmppGeolocItemPrivate;
16
17class QXMPP_EXPORT QXmppGeolocItem : public QXmppPubSubBaseItem
18{
19public:
23 ~QXmppGeolocItem() override;
24
27
28 std::optional<double> accuracy() const;
29 void setAccuracy(std::optional<double> accuracy);
30
31 QString country() const;
32 void setCountry(QString country);
33
34 std::optional<double> latitude() const;
35 void setLatitude(std::optional<double> lat);
36
37 QString locality() const;
38 void setLocality(QString locality);
39
40 std::optional<double> longitude() const;
41 void setLongitude(std::optional<double> lon);
42
43 static bool isItem(const QDomElement &itemElement);
45 static constexpr std::tuple XmlTag = { u"geoloc", QXmpp::Private::ns_geoloc };
46
47protected:
48 void parsePayload(const QDomElement &payloadElement) override;
49 void serializePayload(QXmlStreamWriter *writer) const override;
51
52private:
53 QSharedDataPointer<QXmppGeolocItemPrivate> d;
54};
55
56Q_DECLARE_METATYPE(QXmppGeolocItem)
57
58#endif // QXMPPGEOLOCITEM_H
Definition QXmppGeolocItem.h:18
QXmppGeolocItem(QXmppGeolocItem &&)
Move-constructor.
QXmppGeolocItem & operator=(const QXmppGeolocItem &other)
Assignment operator.
QXmppGeolocItem(const QXmppGeolocItem &other)
Copy-constructor.
QXmppGeolocItem & operator=(QXmppGeolocItem &&)
Move-assignment operator.
Definition QXmppPubSubBaseItem.h:19
virtual void serializePayload(QXmlStreamWriter *writer) const
Definition QXmppPubSubBaseItem.cpp:154
virtual void parsePayload(const QDomElement &payloadElement)
Definition QXmppPubSubBaseItem.cpp:144
static bool isItem(const QDomElement &element)
Definition QXmppPubSubBaseItem.cpp:134