38 QSharedDataPointer<QDBusIntrospection::Object> m_object;
39 std::unique_ptr<QDBusIntrospection::Interface> m_currentInterface;
40 QDBusIntrospection::Interfaces m_interfaces;
41 QXmlStreamReader m_xml;
42 QDBusIntrospection::SourceLocation m_currentLocation;
43 QDBusIntrospection::DiagnosticsReporter *m_reporter;
46 QDBusXmlParser(
const QString &service,
const QString &path,
const QString &xmlData,
47 QDBusIntrospection::DiagnosticsReporter *reporter =
nullptr);
49 inline QDBusIntrospection::Interfaces interfaces()
const {
return m_interfaces; }
50 inline QSharedDataPointer<QDBusIntrospection::Object> object()
const {
return m_object; }
53 void readNode(
int nodeLevel);
55 bool parseSignal(QDBusIntrospection::Signal &signalData);
56 bool parseMethod(QDBusIntrospection::Method &methodData);
57 bool parseProperty(QDBusIntrospection::Property &propertyData);
58 bool parseAnnotation(QDBusIntrospection::Annotations &annotations,
59 bool interfaceAnnotation =
false);
60 bool parseArg(
const QXmlStreamAttributes &attributes, QDBusIntrospection::Argument &argData);
61 bool readNextStartElement();
62 void updateCurrentLocation();