From 8d89b4ef2115a830086b892db1bce9e4c2ad1e09 Mon Sep 17 00:00:00 2001 From: Ievgenii Meshcheriakov Date: Wed, 2 Aug 2023 14:34:03 +0200 Subject: [PATCH] qdbuscpp2xml: Support MEMBER field of Q_PROPERTY Emit properties with MEMBER field specified with 'readwrite' access. Previously only READ and WRITE filed where used for deriving the access value. Add a property using MEMBER to the test class used by tst_qdbuscpp2xml. Fixes: QTBUG-115631 Change-Id: I12351985a9fafd934ccc5e0b805077a9e44b6608 Reviewed-by: Thiago Macieira --- src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp | 2 ++ tests/auto/tools/qdbuscpp2xml/test1.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp b/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp index 1a45685515..295a60c01a 100644 --- a/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp +++ b/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp @@ -184,6 +184,8 @@ static QString generateInterfaceXml(const ClassDef *mo) access |= 1; if (!mp.write.isEmpty()) access |= 2; + if (!mp.member.isEmpty()) + access |= 3; int typeId = QMetaType::fromName(mp.type).id(); if (!typeId) { diff --git a/tests/auto/tools/qdbuscpp2xml/test1.h b/tests/auto/tools/qdbuscpp2xml/test1.h index abe1763d56..76fdaff7e9 100644 --- a/tests/auto/tools/qdbuscpp2xml/test1.h +++ b/tests/auto/tools/qdbuscpp2xml/test1.h @@ -17,6 +17,7 @@ class Test1 : public QObject Q_CLASSINFO("D-Bus Interface", "org.qtProject.qdbuscpp2xmlTests.Test1") Q_PROPERTY(int numProperty1 READ numProperty1 CONSTANT) Q_PROPERTY(int numProperty2 READ numProperty2 WRITE setNumProperty2) + Q_PROPERTY(int numProperty3 MEMBER m_numProperty3) Q_ENUMS(Salaries) public: // C++1y allows use of single quote as a digit separator, useful for large @@ -97,6 +98,9 @@ protected: private: Q_SCRIPTABLE void neverExported11() {} Q_SCRIPTABLE int neverExported12() { return 42; } + +private: + int m_numProperty3; }; #endif