prop: add the Prop.Introspection() method

Sometimes it is convenient to generate the introspection data for properties
before they are exported. For example, when the introspection data for an
object is gathered before the corresponding interfaces are exported.

Move the relevant pieces from Properties.Introspection() into the newly
created Prop.Introspection() method, which generates the introspection
data for the corresponding Prop instance using the provided property
name.
1 file changed
tree: 2c5c34d246cdc2d84cbaa49d3241f77413ab3a86
  1. .github/
  2. _examples/
  3. introspect/
  4. prop/
  5. auth.go
  6. auth_anonymous.go
  7. auth_external.go
  8. auth_sha1.go
  9. call.go
  10. conn.go
  11. conn_darwin.go
  12. conn_other.go
  13. conn_test.go
  14. conn_unix.go
  15. conn_windows.go
  16. CONTRIBUTING.md
  17. dbus.go
  18. dbus_test.go
  19. decoder.go
  20. decoder_test.go
  21. default_handler.go
  22. doc.go
  23. encoder.go
  24. encoder_test.go
  25. examples_test.go
  26. exec_command_test.go
  27. export.go
  28. export_test.go
  29. go.mod
  30. go.sum
  31. homedir.go
  32. homedir_dynamic.go
  33. homedir_static.go
  34. LICENSE
  35. MAINTAINERS
  36. match.go
  37. match_test.go
  38. message.go
  39. object.go
  40. object_test.go
  41. proto_test.go
  42. README.md
  43. sequence.go
  44. sequence_test.go
  45. sequential_handler.go
  46. sequential_handler_test.go
  47. server_interfaces.go
  48. server_interfaces_test.go
  49. sig.go
  50. sig_test.go
  51. store_test.go
  52. transport_darwin.go
  53. transport_generic.go
  54. transport_nonce_tcp.go
  55. transport_nonce_tcp_test.go
  56. transport_tcp.go
  57. transport_tcp_test.go
  58. transport_unix.go
  59. transport_unix_test.go
  60. transport_unixcred_dragonfly.go
  61. transport_unixcred_freebsd.go
  62. transport_unixcred_linux.go
  63. transport_unixcred_netbsd.go
  64. transport_unixcred_openbsd.go
  65. variant.go
  66. variant_lexer.go
  67. variant_parser.go
  68. variant_test.go
README.md

Build Status

dbus

dbus is a simple library that implements native Go client bindings for the D-Bus message bus system.

Features

  • Complete native implementation of the D-Bus message protocol
  • Go-like API (channels for signals / asynchronous method calls, Goroutine-safe connections)
  • Subpackages that help with the introspection / property interfaces

Installation

This packages requires Go 1.12 or later. It can be installed by running the command below:

go get github.com/godbus/dbus/v5

Usage

The complete package documentation and some simple examples are available at godoc.org. Also, the _examples directory gives a short overview over the basic usage.

Projects using godbus

  • fyne a cross platform GUI in Go inspired by Material Design.
  • fynedesk a full desktop environment for Linux/Unix using Fyne.
  • go-bluetooth provides a bluetooth client over bluez dbus API.
  • iwd go bindings for the internet wireless daemon “iwd”.
  • notify provides desktop notifications over dbus into a library.
  • playerbm a bookmark utility for media players.

Please note that the API is considered unstable for now and may change without further notice.

License

go.dbus is available under the Simplified BSD License; see LICENSE for the full text.

Nearly all of the credit for this library goes to github.com/guelfey/go.dbus.