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
Versions [faq] | 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 |
---|---|
Dependencies | base (>=4.0 && <5.0), bytestring (>=0.9), cereal (>=0.3.4 && <0.4), containers (>=0.1 && <0.6), libxml-sax (==0.7.*), network (>=2.2), network-bytestring (>=0.1.2 && <0.2), parsec (>=2.0 && <3.2), random (==1.0.*), text (>=0.11.1.5 && <0.12), transformers (>=0.2 && <0.4), unix (>=2.2 && <2.7), vector (>=0.7 && <0.11), xml-types (==0.3.*) [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.4 |
Uploaded | by JohnMillikin at Fri Nov 2 05:08:26 UTC 2012 |
Distributions | Arch:1.2.3, Debian:1.0.1, Fedora:0.10.15, LTSHaskell:1.2.3, NixOS:1.2.3, Stackage:1.2.4, openSUSE:1.2.3 |
Downloads | 16566 total (766 in the last 30 days) |
Rating | (no votes yet) [estimated by rule of succession] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |
Flags
Name | Description | Default | Type |
---|---|---|---|
network-bytestring-610 | Disabled | Automatic | |
network-bytestring | Enabled | Automatic |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- dbus-0.10.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)