diff options
author | Jake Swensen <jake.swensen@smartthings.com> | 2023-12-19 12:42:01 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-19 10:42:01 -0800 |
commit | 1ce851332fd99a2336f430ab8f29c4b3df04bd5c (patch) | |
tree | fdfbed15a0be90a8aaffe9692bd8185453cf66f1 | |
parent | a7893e5da6d2cc71ee91db80d14a3e44812b27ac (diff) | |
download | ot-br-posix-1ce851332fd99a2336f430ab8f29c4b3df04bd5c.tar.gz |
[dbus] add OTBR_PACKAGE_VERSION (#2135)
Fetch the `otbr` package version via `dbus`
-rw-r--r-- | src/dbus/common/constants.hpp | 1 | ||||
-rw-r--r-- | src/dbus/server/dbus_thread_object.cpp | 13 | ||||
-rw-r--r-- | src/dbus/server/dbus_thread_object.hpp | 1 | ||||
-rw-r--r-- | src/dbus/server/introspect.xml | 5 |
4 files changed, 20 insertions, 0 deletions
diff --git a/src/dbus/common/constants.hpp b/src/dbus/common/constants.hpp index 1d99f1d7..561be710 100644 --- a/src/dbus/common/constants.hpp +++ b/src/dbus/common/constants.hpp @@ -98,6 +98,7 @@ #define OTBR_DBUS_PROPERTY_RADIO_REGION "RadioRegion" #define OTBR_DBUS_PROPERTY_SRP_SERVER_INFO "SrpServerInfo" #define OTBR_DBUS_PROPERTY_DNSSD_COUNTERS "DnssdCounters" +#define OTBR_DBUS_PROPERTY_OTBR_VERSION "OtbrVersion" #define OTBR_DBUS_PROPERTY_OT_HOST_VERSION "OtHostVersion" #define OTBR_DBUS_PROPERTY_OT_RCP_VERSION "OtRcpVersion" #define OTBR_DBUS_PROPERTY_THREAD_VERSION "ThreadVersion" diff --git a/src/dbus/server/dbus_thread_object.cpp b/src/dbus/server/dbus_thread_object.cpp index a10ea2d4..70e480bc 100644 --- a/src/dbus/server/dbus_thread_object.cpp +++ b/src/dbus/server/dbus_thread_object.cpp @@ -240,6 +240,8 @@ otbrError DBusThreadObject::Init(void) std::bind(&DBusThreadObject::GetMdnsTelemetryInfoHandler, this, _1)); RegisterGetPropertyHandler(OTBR_DBUS_THREAD_INTERFACE, OTBR_DBUS_PROPERTY_DNSSD_COUNTERS, std::bind(&DBusThreadObject::GetDnssdCountersHandler, this, _1)); + RegisterGetPropertyHandler(OTBR_DBUS_THREAD_INTERFACE, OTBR_DBUS_PROPERTY_OTBR_VERSION, + std::bind(&DBusThreadObject::GetOtbrVersionHandler, this, _1)); RegisterGetPropertyHandler(OTBR_DBUS_THREAD_INTERFACE, OTBR_DBUS_PROPERTY_OT_HOST_VERSION, std::bind(&DBusThreadObject::GetOtHostVersionHandler, this, _1)); RegisterGetPropertyHandler(OTBR_DBUS_THREAD_INTERFACE, OTBR_DBUS_PROPERTY_OT_RCP_VERSION, @@ -1499,6 +1501,17 @@ void DBusThreadObject::RegisterGetPropertyHandler(const std::string &aIn mGetPropertyHandlers[aPropertyName] = aHandler; } +otError DBusThreadObject::GetOtbrVersionHandler(DBusMessageIter &aIter) +{ + otError error = OT_ERROR_NONE; + std::string version = OTBR_PACKAGE_VERSION; + + SuccessOrExit(DBusMessageEncodeToVariant(&aIter, version), error = OT_ERROR_FAILED); + +exit: + return error; +} + otError DBusThreadObject::GetOtHostVersionHandler(DBusMessageIter &aIter) { otError error = OT_ERROR_NONE; diff --git a/src/dbus/server/dbus_thread_object.hpp b/src/dbus/server/dbus_thread_object.hpp index 9b23bd6e..6b5e7c8b 100644 --- a/src/dbus/server/dbus_thread_object.hpp +++ b/src/dbus/server/dbus_thread_object.hpp @@ -155,6 +155,7 @@ private: otError GetSrpServerInfoHandler(DBusMessageIter &aIter); otError GetMdnsTelemetryInfoHandler(DBusMessageIter &aIter); otError GetDnssdCountersHandler(DBusMessageIter &aIter); + otError GetOtbrVersionHandler(DBusMessageIter &aIter); otError GetOtHostVersionHandler(DBusMessageIter &aIter); otError GetOtRcpVersionHandler(DBusMessageIter &aIter); otError GetThreadVersionHandler(DBusMessageIter &aIter); diff --git a/src/dbus/server/introspect.xml b/src/dbus/server/introspect.xml index ff222f86..c6f26012 100644 --- a/src/dbus/server/introspect.xml +++ b/src/dbus/server/introspect.xml @@ -660,6 +660,11 @@ <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> </property> + <!-- OtbrVersion: The version string of the otbr package. --> + <property name="OtbrVersion" type="s" access="read"> + <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> + </property> + <!-- OtHostVersion: The version string of the host build. --> <property name="OtHostVersion" type="s" access="read"> <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> |