Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
DBusServer
is a helper for listening to and accepting D-Bus
connections. This can be used to create a new D-Bus server, allowing two
peers to use the D-Bus protocol for their own specialized communication.
A server instance provided in this way will not perform message routing or
implement the org.freedesktop.DBus interface.
To just export an object on a well-known name on a message bus, such as the
session or system bus, you should instead use g_bus_own_name()
.
An example of peer-to-peer communication with G-DBus can be found in gdbus-example-peer.c.
- newtype DBusServer = DBusServer (ManagedPtr DBusServer)
- class GObject o => IsDBusServer o
- toDBusServer :: IsDBusServer o => o -> IO DBusServer
- noDBusServer :: Maybe DBusServer
- data DBusServerGetClientAddressMethodInfo
- dBusServerGetClientAddress :: (HasCallStack, MonadIO m, IsDBusServer a) => a -> m Text
- data DBusServerGetFlagsMethodInfo
- dBusServerGetFlags :: (HasCallStack, MonadIO m, IsDBusServer a) => a -> m [DBusServerFlags]
- data DBusServerGetGuidMethodInfo
- dBusServerGetGuid :: (HasCallStack, MonadIO m, IsDBusServer a) => a -> m Text
- data DBusServerIsActiveMethodInfo
- dBusServerIsActive :: (HasCallStack, MonadIO m, IsDBusServer a) => a -> m Bool
- dBusServerNewSync :: (HasCallStack, MonadIO m, IsDBusAuthObserver a, IsCancellable b) => Text -> [DBusServerFlags] -> Text -> Maybe a -> Maybe b -> m DBusServer
- data DBusServerStartMethodInfo
- dBusServerStart :: (HasCallStack, MonadIO m, IsDBusServer a) => a -> m ()
- data DBusServerStopMethodInfo
- dBusServerStop :: (HasCallStack, MonadIO m, IsDBusServer a) => a -> m ()
- data DBusServerActivePropertyInfo
- dBusServerActive :: AttrLabelProxy "active"
- getDBusServerActive :: (MonadIO m, IsDBusServer o) => o -> m Bool
- data DBusServerAddressPropertyInfo
- constructDBusServerAddress :: IsDBusServer o => Text -> IO (GValueConstruct o)
- dBusServerAddress :: AttrLabelProxy "address"
- getDBusServerAddress :: (MonadIO m, IsDBusServer o) => o -> m (Maybe Text)
- data DBusServerAuthenticationObserverPropertyInfo
- constructDBusServerAuthenticationObserver :: (IsDBusServer o, IsDBusAuthObserver a) => a -> IO (GValueConstruct o)
- dBusServerAuthenticationObserver :: AttrLabelProxy "authenticationObserver"
- getDBusServerAuthenticationObserver :: (MonadIO m, IsDBusServer o) => o -> m (Maybe DBusAuthObserver)
- data DBusServerClientAddressPropertyInfo
- dBusServerClientAddress :: AttrLabelProxy "clientAddress"
- getDBusServerClientAddress :: (MonadIO m, IsDBusServer o) => o -> m Text
- data DBusServerFlagsPropertyInfo
- constructDBusServerFlags :: IsDBusServer o => [DBusServerFlags] -> IO (GValueConstruct o)
- dBusServerFlags :: AttrLabelProxy "flags"
- getDBusServerFlags :: (MonadIO m, IsDBusServer o) => o -> m [DBusServerFlags]
- data DBusServerGuidPropertyInfo
- constructDBusServerGuid :: IsDBusServer o => Text -> IO (GValueConstruct o)
- dBusServerGuid :: AttrLabelProxy "guid"
- getDBusServerGuid :: (MonadIO m, IsDBusServer o) => o -> m Text
- type C_DBusServerNewConnectionCallback = Ptr () -> Ptr DBusConnection -> Ptr () -> IO CInt
- type DBusServerNewConnectionCallback = DBusConnection -> IO Bool
- data DBusServerNewConnectionSignalInfo
- afterDBusServerNewConnection :: (IsDBusServer a, MonadIO m) => a -> DBusServerNewConnectionCallback -> m SignalHandlerId
- genClosure_DBusServerNewConnection :: DBusServerNewConnectionCallback -> IO Closure
- mk_DBusServerNewConnectionCallback :: C_DBusServerNewConnectionCallback -> IO (FunPtr C_DBusServerNewConnectionCallback)
- noDBusServerNewConnectionCallback :: Maybe DBusServerNewConnectionCallback
- onDBusServerNewConnection :: (IsDBusServer a, MonadIO m) => a -> DBusServerNewConnectionCallback -> m SignalHandlerId
- wrap_DBusServerNewConnectionCallback :: DBusServerNewConnectionCallback -> Ptr () -> Ptr DBusConnection -> Ptr () -> IO CInt
Exported types
newtype DBusServer Source #
GObject DBusServer Source # | |
IsObject DBusServer Source # | |
IsInitable DBusServer Source # | |
IsDBusServer DBusServer Source # | |
((~) * info (ResolveDBusServerMethod t DBusServer), MethodInfo * info DBusServer p) => IsLabel t (DBusServer -> p) Source # | |
((~) * info (ResolveDBusServerMethod t DBusServer), MethodInfo * info DBusServer p) => IsLabelProxy t (DBusServer -> p) Source # | |
HasAttributeList * DBusServer Source # | |
type AttributeList DBusServer Source # | |
type SignalList DBusServer Source # | |
class GObject o => IsDBusServer o Source #
toDBusServer :: IsDBusServer o => o -> IO DBusServer Source #
Methods
getClientAddress
data DBusServerGetClientAddressMethodInfo Source #
((~) * signature (m Text), MonadIO m, IsDBusServer a) => MethodInfo * DBusServerGetClientAddressMethodInfo a signature Source # | |
dBusServerGetClientAddress Source #
:: (HasCallStack, MonadIO m, IsDBusServer a) | |
=> a |
|
-> m Text | Returns: A D-Bus address string. Do not free, the string is owned
by |
Gets a D-Bus address string that can be used by clients to connect
to server
.
Since: 2.26
getFlags
data DBusServerGetFlagsMethodInfo Source #
((~) * signature (m [DBusServerFlags]), MonadIO m, IsDBusServer a) => MethodInfo * DBusServerGetFlagsMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsDBusServer a) | |
=> a |
|
-> m [DBusServerFlags] | Returns: A set of flags from the |
Gets the flags for server
.
Since: 2.26
getGuid
data DBusServerGetGuidMethodInfo Source #
((~) * signature (m Text), MonadIO m, IsDBusServer a) => MethodInfo * DBusServerGetGuidMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsDBusServer a) | |
=> a |
|
-> m Text | Returns: A D-Bus GUID. Do not free this string, it is owned by |
Gets the GUID for server
.
Since: 2.26
isActive
data DBusServerIsActiveMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsDBusServer a) => MethodInfo * DBusServerIsActiveMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsDBusServer a) | |
=> a |
|
-> m Bool |
Gets whether server
is active.
Since: 2.26
newSync
:: (HasCallStack, MonadIO m, IsDBusAuthObserver a, IsCancellable b) | |
=> Text |
|
-> [DBusServerFlags] |
|
-> Text |
|
-> Maybe a |
|
-> Maybe b |
|
-> m DBusServer | Returns: A |
Creates a new D-Bus server that listens on the first address in
address
that works.
Once constructed, you can use dBusServerGetClientAddress
to
get a D-Bus address string that clients can use to connect.
Connect to the DBusServer
::new-connection
signal to handle
incoming connections.
The returned DBusServer
isn't active - you have to start it with
dBusServerStart
.
DBusServer
is used in this [example][gdbus-peer-to-peer].
This is a synchronous failable constructor. See
g_dbus_server_new()
for the asynchronous version.
Since: 2.26
start
data DBusServerStartMethodInfo Source #
((~) * signature (m ()), MonadIO m, IsDBusServer a) => MethodInfo * DBusServerStartMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsDBusServer a) | |
=> a |
|
-> m () |
Starts server
.
Since: 2.26
stop
data DBusServerStopMethodInfo Source #
((~) * signature (m ()), MonadIO m, IsDBusServer a) => MethodInfo * DBusServerStopMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsDBusServer a) | |
=> a |
|
-> m () |
Stops server
.
Since: 2.26
Properties
active
data DBusServerActivePropertyInfo Source #
dBusServerActive :: AttrLabelProxy "active" Source #
getDBusServerActive :: (MonadIO m, IsDBusServer o) => o -> m Bool Source #
address
data DBusServerAddressPropertyInfo Source #
constructDBusServerAddress :: IsDBusServer o => Text -> IO (GValueConstruct o) Source #
dBusServerAddress :: AttrLabelProxy "address" Source #
getDBusServerAddress :: (MonadIO m, IsDBusServer o) => o -> m (Maybe Text) Source #
authenticationObserver
data DBusServerAuthenticationObserverPropertyInfo Source #
constructDBusServerAuthenticationObserver :: (IsDBusServer o, IsDBusAuthObserver a) => a -> IO (GValueConstruct o) Source #
dBusServerAuthenticationObserver :: AttrLabelProxy "authenticationObserver" Source #
getDBusServerAuthenticationObserver :: (MonadIO m, IsDBusServer o) => o -> m (Maybe DBusAuthObserver) Source #
clientAddress
data DBusServerClientAddressPropertyInfo Source #
dBusServerClientAddress :: AttrLabelProxy "clientAddress" Source #
getDBusServerClientAddress :: (MonadIO m, IsDBusServer o) => o -> m Text Source #
flags
data DBusServerFlagsPropertyInfo Source #
constructDBusServerFlags :: IsDBusServer o => [DBusServerFlags] -> IO (GValueConstruct o) Source #
dBusServerFlags :: AttrLabelProxy "flags" Source #
getDBusServerFlags :: (MonadIO m, IsDBusServer o) => o -> m [DBusServerFlags] Source #
guid
data DBusServerGuidPropertyInfo Source #
constructDBusServerGuid :: IsDBusServer o => Text -> IO (GValueConstruct o) Source #
dBusServerGuid :: AttrLabelProxy "guid" Source #
getDBusServerGuid :: (MonadIO m, IsDBusServer o) => o -> m Text Source #
Signals
newConnection
type C_DBusServerNewConnectionCallback = Ptr () -> Ptr DBusConnection -> Ptr () -> IO CInt Source #
type DBusServerNewConnectionCallback = DBusConnection -> IO Bool Source #
afterDBusServerNewConnection :: (IsDBusServer a, MonadIO m) => a -> DBusServerNewConnectionCallback -> m SignalHandlerId Source #
mk_DBusServerNewConnectionCallback :: C_DBusServerNewConnectionCallback -> IO (FunPtr C_DBusServerNewConnectionCallback) Source #
onDBusServerNewConnection :: (IsDBusServer a, MonadIO m) => a -> DBusServerNewConnectionCallback -> m SignalHandlerId Source #
wrap_DBusServerNewConnectionCallback :: DBusServerNewConnectionCallback -> Ptr () -> Ptr DBusConnection -> Ptr () -> IO CInt Source #