hypfvieh / dbus-java

Improved version of java DBus library provided by freedesktop.org (https://dbus.freedesktop.org/doc/dbus-java/)
https://hypfvieh.github.io/dbus-java/
MIT License
185 stars 73 forks source link

Use `DBusNamingUtil` more widely, value element added to the `DeprecatedOnDBus` and `MethodNoReply` annotations #168

Closed mk868 closed 2 years ago

mk868 commented 2 years ago

Hello,

This PR includes refactoring and fix in two annotations.

The DBusNamingUtil helper methods give us a simpler and safer way to retrieve DBus names. In this PR, I replaced the code fragments with methods from DBusNamingUtil, which reduced the boilerplate code.

The next change affects the two annotations @DeprecatedOnDBus and @MethodNoReply. So far when we used first of these annotations on an interface, it produced the following introspection data:

<node name="/hal/module1">
 <interface name="com.example.HalModule">
  <annotation name="org.freedesktop.DBus.Deprecated" value="" />
  <!-- ... -->

Referring to the https://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format specification, the value should be true or false. So I added the appropriate value element with default value true to the annotation, now the introspection data looks like this:

<node name="/hal/module1">
 <interface name="com.example.HalModule">
  <annotation name="org.freedesktop.DBus.Deprecated" value="true" />
  <!-- ... -->

Best regards, MK

hypfvieh commented 2 years ago

Nice and clean, as usual - thanks!