dbus: A client library for the D-Bus IPC system.
D‑Bus is a simple, message-based protocol for inter-process communication, which allows applications to interact with other parts of the machine and the user's session using remote procedure calls.
D‑Bus is a essential part of the modern Linux desktop, where it replaces earlier protocols such as CORBA and DCOP.
This library is an implementation of the D‑Bus protocol in Haskell. It can be used to add D‑Bus support to Haskell applications, without the awkward interfaces common to foreign bindings.
Example: connect to the session bus, and get a list of active names.
{-# LANGUAGE OverloadedStrings #-} import Data.List (sort) import DBus import DBus.Client main = do client <- connectSession // -- Request a list of connected clients from the bus reply <- call_ client (methodCall "/org/freedesktop/DBus" "org.freedesktop.DBus" "ListNames") { methodCallDestination = Just "org.freedesktop.DBus" } // -- org.freedesktop.DBus.ListNames() returns a single value, which is -- a list of names (here represented as [String]) let Just names = fromVariant (methodReturnBody reply !! 0) // -- Print each name on a line, sorted so reserved names are below -- temporary names. mapM_ putStrLn (sort names)
$ ghc --make list-names.hs $ ./list-names :1.0 :1.1 :1.10 :1.106 :1.109 :1.110 ca.desrt.dconf org.freedesktop.DBus org.freedesktop.Notifications org.freedesktop.secrets org.gnome.ScreenSaver
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
network-bytestring-610 | Disabled | |
network-bytestring | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- dbus-0.10.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.10, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.10.7, 0.10.8, 0.10.9, 0.10.9.1, 0.10.9.2, 0.10.10, 0.10.11, 0.10.12, 0.10.13, 0.10.14, 0.10.15, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9, 1.2.10, 1.2.11, 1.2.12, 1.2.13, 1.2.14, 1.2.15.1, 1.2.16, 1.2.17, 1.2.18, 1.2.19, 1.2.21, 1.2.22, 1.2.23, 1.2.24, 1.2.25, 1.2.26, 1.2.27, 1.2.28, 1.2.29, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3.8, 1.3.9, 1.3.10, 1.3.11, 1.4.0 |
---|---|
Dependencies | base (>=4.0 && <5.0), bytestring (>=0.9 && <0.10), cereal (>=0.3.4 && <0.4), containers (>=0.1 && <0.6), libxml-sax (>=0.7 && <0.8), network (>=2.2 && <2.4), network-bytestring (>=0.1.2 && <0.2), parsec (>=2.0 && <3.2), random (>=1.0 && <1.1), text (>=0.11.1.5 && <0.12), transformers (>=0.2 && <0.4), unix (>=2.2 && <2.6), vector (>=0.7 && <0.10), xml-types (>=0.3 && <0.4) [details] |
License | GPL-3.0-only |
Author | John Millikin <jmillikin@gmail.com> |
Maintainer | John Millikin <jmillikin@gmail.com> |
Category | Network, Desktop |
Home page | https://john-millikin.com/software/haskell-dbus/ |
Bug tracker | mailto:jmillikin@gmail.com |
Source repo | head: bzr branch https://john-millikin.com/branches/haskell-dbus/0.10/ this: bzr branch https://john-millikin.com/branches/haskell-dbus/0.10/ -r haskell-dbus_0.10 |
Uploaded | by JohnMillikin at 2012-06-23T15:17:56Z |
Distributions | Arch:1.3.1, Debian:1.2.16, Fedora:1.3.3, LTSHaskell:1.3.11, NixOS:1.3.3, Stackage:1.4.0, openSUSE:1.3.3 |
Reverse Dependencies | 26 direct, 3 indirect [details] |
Downloads | 51270 total (84 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |