/usr/include/qxmpp/QXmppDataForm.h is in libqxmpp-dev 0.3.0-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | /*
* Copyright (C) 2008-2011 The QXmpp developers
*
* Author:
* Jeremy Lainé
*
* Source:
* http://code.google.com/p/qxmpp
*
* This file is a part of QXmpp library.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
*/
#ifndef QXMPPDATAFORM_H
#define QXMPPDATAFORM_H
#include <QPair>
#include <QString>
#include <QVariant>
#include <QXmlStreamWriter>
class QDomElement;
/// \brief The QXmppDataForm class represents a data form as defined by
/// XEP-0004: Data Forms.
///
class QXmppDataForm
{
public:
/// \brief The QXmppDataForm::Field class represents a data form field
/// as defined by XEP-0004: Data Forms.
///
class Field
{
public:
/// This enum is used to describe a field's type.
enum Type
{
BooleanField,
FixedField,
HiddenField,
JidMultiField,
JidSingleField,
ListMultiField,
ListSingleField,
TextMultiField,
TextPrivateField,
TextSingleField,
};
Field(QXmppDataForm::Field::Type type = QXmppDataForm::Field::TextSingleField);
QString description() const;
void setDescription(const QString &description);
QString key() const;
void setKey(const QString &key);
QString label() const;
void setLabel(const QString &label);
QList<QPair<QString, QString> > options() const;
void setOptions(const QList<QPair<QString, QString> > &options);
bool isRequired() const;
void setRequired(bool required);
QXmppDataForm::Field::Type type() const;
void setType(QXmppDataForm::Field::Type type);
QVariant value() const;
void setValue(const QVariant &value);
private:
QString m_description;
QString m_key;
QString m_label;
QList<QPair<QString, QString> > m_options;
bool m_required;
QXmppDataForm::Field::Type m_type;
QVariant m_value;
};
/// This enum is used to describe a form's type.
enum Type
{
None, ///< Unknown form type
Form, ///< The form-processing entity is asking the form-submitting
///< entity to complete a form.
Submit, ///< The form-submitting entity is submitting data to the
///< form-processing entity.
Cancel, ///< The form-submitting entity has cancelled submission
///< of data to the form-processing entity.
Result, ///< The form-processing entity is returning data
///< (e.g., search results) to the form-submitting entity,
///< or the data is a generic data set.
};
QXmppDataForm(QXmppDataForm::Type type = QXmppDataForm::None);
QString instructions() const;
void setInstructions(const QString &instructions);
QList<Field> fields() const;
QList<Field> &fields();
void setFields(const QList<QXmppDataForm::Field> &fields);
QString title() const;
void setTitle(const QString &title);
QXmppDataForm::Type type() const;
void setType(QXmppDataForm::Type type);
bool isNull() const;
/// \cond
void parse(const QDomElement &element);
void toXml(QXmlStreamWriter *writer) const;
/// \endcond
private:
QString m_instructions;
QList<Field> m_fields;
QString m_title;
QXmppDataForm::Type m_type;
};
#endif
|