Merge pull request #325 from ivanteterevkov/master

examples: Add asynchronous D-Bus call example
tree: de9c2031dd76bd2138dac31173c1509dd34e9faa
  1. .github/
  2. _examples/
  3. introspect/
  4. prop/
  5. testdata/
  6. .golangci.yml
  7. auth.go
  8. auth_anonymous.go
  9. auth_external.go
  10. auth_sha1.go
  11. call.go
  12. conn.go
  13. conn_darwin.go
  14. conn_other.go
  15. conn_test.go
  16. conn_unix.go
  17. conn_windows.go
  18. CONTRIBUTING.md
  19. dbus.go
  20. dbus_test.go
  21. decoder.go
  22. decoder_test.go
  23. default_handler.go
  24. doc.go
  25. encoder.go
  26. encoder_test.go
  27. escape.go
  28. escape_test.go
  29. examples_test.go
  30. exec_command_test.go
  31. export.go
  32. export_test.go
  33. go.mod
  34. go.sum
  35. homedir.go
  36. LICENSE
  37. MAINTAINERS
  38. match.go
  39. match_test.go
  40. message.go
  41. message_test.go
  42. object.go
  43. object_test.go
  44. proto_fuzz_test.go
  45. proto_test.go
  46. README.md
  47. sequence.go
  48. sequence_test.go
  49. sequential_handler.go
  50. sequential_handler_test.go
  51. server_interfaces.go
  52. server_interfaces_test.go
  53. sig.go
  54. sig_test.go
  55. store_test.go
  56. transport_darwin.go
  57. transport_generic.go
  58. transport_nonce_tcp.go
  59. transport_nonce_tcp_test.go
  60. transport_tcp.go
  61. transport_tcp_test.go
  62. transport_unix.go
  63. transport_unix_test.go
  64. transport_unixcred_dragonfly.go
  65. transport_unixcred_freebsd.go
  66. transport_unixcred_linux.go
  67. transport_unixcred_netbsd.go
  68. transport_unixcred_openbsd.go
  69. transport_zos.go
  70. variant.go
  71. variant_lexer.go
  72. variant_parser.go
  73. 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.
  • rpic lightweight web app and RESTful API for managing a Raspberry Pi

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.