1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
name: dbus
version: 1.4.1
license: Apache-2.0
license-file: license.txt
author: John Millikin <john@john-millikin.com>
maintainer: Andrey Sverdlichenko <blaze@rusty.zone>
build-type: Simple
cabal-version: >= 1.10
category: Network, Desktop
stability: experimental
homepage: https://github.com/rblaze/haskell-dbus#readme
synopsis: A client library for the D-Bus IPC system.
description:
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
extra-source-files:
examples/dbus-monitor.hs
examples/export.hs
examples/introspect.hs
examples/list-names.hs
idlxml/dbus.xml
source-repository head
type: git
location: https://github.com/rblaze/haskell-dbus
library
default-language: Haskell2010
ghc-options: -W -Wall
hs-source-dirs: lib
build-depends:
base >=4.16 && <5
, bytestring < 0.13
, cereal < 0.6
, conduit >= 1.3.0 && < 1.4
, containers < 0.8
, deepseq < 1.6
, exceptions < 0.11
, filepath < 1.6
, lens < 5.4
, network >= 3.2 && < 3.3
, parsec < 3.2
, random < 1.4
, split < 0.3
, template-haskell >= 2.18 && < 2.24
, text < 2.2
, th-lift < 0.9
, transformers < 0.7
, unix < 2.9
, vector < 0.14
, xml-conduit >= 1.9.0.0 && < 1.11.0.0
, xml-types < 0.4
exposed-modules:
DBus
DBus.Client
DBus.Generation
DBus.Internal.Address
DBus.Internal.Message
DBus.Internal.Types
DBus.Internal.Wire
DBus.Introspection
DBus.Introspection.Parse
DBus.Introspection.Render
DBus.Introspection.Types
DBus.Socket
DBus.TH
DBus.Transport
test-suite dbus_tests
type: exitcode-stdio-1.0
main-is: DBusTests.hs
hs-source-dirs: tests
default-language: Haskell2010
ghc-options: -W -Wall -fno-warn-orphans
build-depends:
dbus
, base >=4 && <5
, bytestring < 0.13
, cereal < 0.6
, containers < 0.8
, directory < 1.4
, extra < 1.9
, filepath < 1.6
, network >= 3.2 && < 3.3
, parsec < 3.2
, process < 1.7
, QuickCheck < 2.17
, random < 1.4
, resourcet < 1.4
, tasty < 1.6
, tasty-hunit < 0.11
, tasty-quickcheck < 0.12
, temporary >= 1.3 && < 1.4
, text < 2.2
, transformers < 0.7
, unix < 2.9
, vector < 0.14
other-modules:
DBusTests.Address
DBusTests.BusName
DBusTests.Client
DBusTests.ErrorName
DBusTests.Generation
DBusTests.Integration
DBusTests.InterfaceName
DBusTests.Introspection
DBusTests.MemberName
DBusTests.Message
DBusTests.ObjectPath
DBusTests.Serialization
DBusTests.Signature
DBusTests.Socket
DBusTests.TH
DBusTests.Transport
DBusTests.Util
DBusTests.Variant
DBusTests.Wire
|