4#include <QtCore/qmetaobject.h>
5#include <QtCore/qstringlist.h>
6#include <QtCore/qdebug.h>
31 for (
int i = 0;
i < plain.
size(); ++
i) {
32 if (plain.
at(
i) == u
'<')
34 else if (plain.
at(
i) == u
'>')
36 else if (plain.
at(
i) == u
'&')
47 return write ?
"readwrite"_L1 :
"read"_L1 ;
49 return write ?
"write"_L1 :
""_L1 ;
62 for (
int i = propOffset;
i <
mo->propertyCount(); ++
i) {
77 retval +=
" <property name=\"%1\" type=\"%2\" access=\"%3\""_L1
84 retval +=
">\n <annotation name=\"org.qtproject.QtDBus.QtTypeName\" value=\"%3\"/>\n </property>\n"_L1
93 for (
int i = methodOffset;
i <
mo->methodCount(); ++
i) {
96 bool isSignal =
false;
126 if (typeId.isValid() && typeId.id() != QMetaType::Void) {
129 xml +=
" <arg type=\"%1\" direction=\"out\"/>\n"_L1
134 xml +=
" <annotation name=\"org.qtproject.QtDBus.QtTypeName.Out0\" value=\"%1\"/>\n"_L1
137 qWarning() <<
"Unsupported return type" << typeId.id() << typeId.name() <<
"in method" << mm.
name();
141 else if (!typeId.isValid()) {
142 qWarning() <<
"Invalid return type in method" << mm.
name();
150 if (inputCount == -1) {
154 if (isSignal && inputCount + 1 !=
types.size())
162 for (
j = 1;
j <
types.size(); ++
j) {
170 if (!
names.at(
j - 1).isEmpty())
173 bool isOutput = isSignal ||
j > inputCount;
183 .
arg(isOutput ?
"Out"_L1 :
"In"_L1)
184 .
arg(isOutput && !isSignal ?
j - inputCount :
j - 1)
198 if ((
flags & wantedMask) != wantedMask)
206 retval +=
" </%1>\n"_L1.
arg(isSignal ?
"signal"_L1 :
"method"_L1);
217 interface = qDBusInterfaceFromMetaObject(mo);
221 if (idx >=
mo->classInfoOffset())
228 return " <interface name=\"%1\">\n%2 </interface>\n"_L1
const char * constData() const noexcept
Returns a pointer to the const data stored in the byte array.
@ ExportScriptableInvokables
@ ExportNonScriptableSignals
@ ExportScriptableSignals
@ ExportNonScriptableSlots
@ ExportNonScriptableProperties
@ ExportNonScriptableInvokables
@ ExportScriptableProperties
constexpr QLatin1Char at(qsizetype i) const
constexpr qsizetype size() const noexcept
\macro QT_RESTRICTED_CAST_FROM_ASCII
void reserve(qsizetype size)
Ensures the string has space for at least size characters.
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString arg(qlonglong a, int fieldwidth=0, int base=10, QChar fillChar=u' ') const
static QString static QString asprintf(const char *format,...) Q_ATTRIBUTE_FORMAT_PRINTF(1
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char * interface
#define QCLASSINFO_DBUS_INTROSPECTION
#define ANNOTATION_NO_WAIT
int qDBusParametersForMethod(const QMetaMethod &mm, QList< QMetaType > &metaTypes, QString &errorMsg)
Q_DBUS_EXPORT bool qDBusCheckAsyncTag(const char *tag)
static QLatin1StringView accessAsString(bool read, bool write)
static QString generateInterfaceXml(const QMetaObject *mo, int flags, int methodOffset, int propOffset)
Q_DBUS_EXPORT QString qDBusGenerateMetaObjectXml(QString interface, const QMetaObject *mo, const QMetaObject *base, int flags)
static QString typeNameToXml(const char *typeName)
GLsizei GLenum GLenum * types
#define qPrintable(string)
#define qUtf16Printable(string)
ReturnedValue read(const char *data)
gzip write("uncompressed data")