5#ifndef QXMPPDATAFORMBASED_H
6#define QXMPPDATAFORMBASED_H
8#include "QXmppDataForm.h"
26 std::optional<quint32>
parseUInt(
const QVariant &variant)
29 if (
const auto result = variant.toString().toUInt(&ok); ok) {
38 if (
const auto result = variant.toString().toULongLong(&ok); ok) {
44 std::optional<bool>
parseBool(
const QVariant &variant)
46#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
47 if (variant.typeId() == QMetaType::Type::Bool) {
49 if (variant.type() == QVariant::Bool) {
51 return variant.toBool();
65 if (!value.isNull()) {
66 serializeValue(form, type, name.toString(), value);
73 if (!value.isEmpty()) {
74 serializeValue(form, type, name.toString(), value);
78 template<
typename T,
typename ValueConverter = T (*)(T)>
82 if (optional.has_value()) {
83 serializeValue(form, type, name.toString(), convert(*optional));
90 if (optional.has_value()) {
91 serializeValue(form, type, name.toString(), QString::number(*optional));
98class QXmppExtensibleDataFormBasePrivate;
113 QList<QXmppDataForm::Field> unknownFields()
const;
114 void setUnknownFields(
const QList<QXmppDataForm::Field> &unknownFields);
123 QSharedDataPointer<QXmppExtensibleDataFormBasePrivate> d;