9#include "QXmppConstants_p.h"
10#include "QXmppStanza.h"
12#if QXMPP_DEPRECATED_SINCE(1, 1)
22class QXmppDataFormPrivate;
23class QXmppDataFormFieldPrivate;
24class QXmppDataFormMediaPrivate;
25class QXmppDataFormMediaSourcePrivate;
50 static constexpr std::tuple XmlTag = { u
"uri", QXmpp::Private::ns_media_element };
54 QSharedDataPointer<QXmppDataFormMediaSourcePrivate> d;
57#if QXMPP_DEPRECATED_SINCE(1, 1)
61 QT_DEPRECATED_X(
"Use QXmppDataForm::Field() instead")
63 QT_DEPRECATED_X(
"Use QXmppDataForm::Field() instead")
69 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSize().height() instead")
71 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSize().setHeight() instead")
74 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSize().width() instead")
76 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSize().setWidth() instead")
79 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSources() instead")
80 QList<QPair<QString, QString>>
uris() const;
81 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::setMediaSources() instead")
82 void setUris(const QList<QPair<QString, QString>> &
uris);
84 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSources().isEmpty() instead")
88 QSharedDataPointer<QXmppDataFormMediaPrivate> d;
110 const QString &key = {},
111 const QVariant &value = {},
112 bool isRequired =
false,
113 const QString &label = {},
114 const QString &description = {},
115 const QList<QPair<QString, QString>> &options = {});
129 QString
label()
const;
132#if QXMPP_DEPRECATED_SINCE(1, 1)
133 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSources() or QXmppDataForm::Field::mediaSize() instead")
136 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::setMediaSources() or QXmppDataForm::Field::setMediaSize() instead")
140 QList<QPair<QString, QString>>
options()
const;
149 QVariant
value()
const;
153 QVector<QXmppDataForm::MediaSource>
mediaSources()
const;
163 static constexpr std::tuple XmlTag = { u
"field", QXmpp::Private::ns_data };
164 static std::optional<Field> fromDom(
const QDomElement &el);
165 void toXml(QXmlStreamWriter *writer)
const;
169 QSharedDataPointer<QXmppDataFormFieldPrivate> d;
187 const QList<Field> &fields = {},
188 const QString &title = {},
189 const QString &instructions = {});
190 QXmppDataForm(
const QXmppDataFormBase &based);
201 QList<Field>
fields()
const;
205 QString
title()
const;
216 static constexpr std::tuple XmlTag = { u
"x", QXmpp::Private::ns_data };
217 void parse(
const QDomElement &element);
218 void toXml(QXmlStreamWriter *writer)
const;
222 QSharedDataPointer<QXmppDataFormPrivate> d;
225Q_DECLARE_METATYPE(QXmppDataForm)