diff options
author | Tarja Sundqvist <[email protected]> | 2025-06-03 13:43:30 +0300 |
---|---|---|
committer | Tarja Sundqvist <[email protected]> | 2025-06-03 13:43:30 +0300 |
commit | 4a6a9dcc73b82cd49a846d5eadadc1835d7b0ec8 (patch) | |
tree | 2f027d908308b8ad503b746cd9012fbc98ea32f2 /src/dbus/qdbusutil.cpp | |
parent | 3fe9e69e4d7510480544f928e8a07f0f110b2181 (diff) | |
parent | 5d8e9a8415562ba004b38508d91e1fa0254c17d3 (diff) |
Merge tag 'v6.5.6-lts-lgpl' into 6.56.5
Qt 6.5.6-lts-lgpl release
Diffstat (limited to 'src/dbus/qdbusutil.cpp')
-rw-r--r-- | src/dbus/qdbusutil.cpp | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/src/dbus/qdbusutil.cpp b/src/dbus/qdbusutil.cpp index 00f05b3dd34..827418c487e 100644 --- a/src/dbus/qdbusutil.cpp +++ b/src/dbus/qdbusutil.cpp @@ -206,6 +206,21 @@ static const char oneLetterTypes[] = "vsogybnqiuxtdh"; static const char basicTypes[] = "sogybnqiuxtdh"; static const char fixedTypes[] = "ybnqiuxtdh"; +/* + D-Bus signature grammar (in ABNF), as of 0.42 (2023-08-21): + https://dbus.freedesktop.org/doc/dbus-specification.html#type-system + + <signature> = *<single-complete-type> + <single-complete-type> = <basic-type> / <variant> / <struct> / <array> + <fixed-type> = "y" / "b" / "n" / "q" / "i" / "u" / "x" / "t" / "d" / "h" + <variable-length-type> = "s" / "o" / "g" + <basic-type> = <variable-length-type> / <fixed-type> + <variant> = "v" + <struct> = "(" 1*<single-complete-type> ")" + <array> = "a" ( <single-complete-type> / <dict-entry> ) + <dict-entry> = "{" <basic-type> <single-complete-type> "}" +*/ + static bool isBasicType(int c) { return c != DBUS_TYPE_INVALID && strchr(basicTypes, c) != nullptr; @@ -310,13 +325,6 @@ namespace QDBusUtil } /*! - \internal - \fn bool isValidPartOfObjectPath(const QString &part) - - \overload - */ - - /*! \fn bool isValidInterfaceName(const QString &ifaceName) Returns \c true if this is \a ifaceName is a valid interface name. @@ -376,12 +384,6 @@ namespace QDBusUtil } /*! - \fn bool isValidUniqueConnectionName(const QString &connName) - - \overload - */ - - /*! \fn bool isValidBusName(const QString &busName) Returns \c true if \a busName is a valid bus name. @@ -405,9 +407,6 @@ namespace QDBusUtil return isValidUniqueConnectionName(busName); const auto parts = QStringView{busName}.split(u'.'); - if (parts.size() < 1) - return false; - for (QStringView part : parts) { if (part.isEmpty()) return false; @@ -444,12 +443,6 @@ namespace QDBusUtil } /*! - \fn bool isValidMemberName(const QString &memberName) - - \overload - */ - - /*! \fn bool isValidErrorName(const QString &errorName) Returns \c true if \a errorName is a valid error name. Valid error names are valid interface names and vice-versa, so this function is actually an alias for isValidInterfaceName. @@ -467,9 +460,8 @@ namespace QDBusUtil \list \li start with the slash character ("/") \li do not end in a slash, unless the path is just the initial slash - \li do not contain any two slashes in sequence - \li contain slash-separated parts, each of which is composed of ASCII letters, digits and - underscores ("_") + \li contain slash-separated parts, each of which is not empty, and composed + only of ASCII letters, digits and underscores ("_"). \endlist */ bool isValidObjectPath(const QString &path) |