DBus
SPA » Support

DBus communication. More...

## Files

file | dbus.h
| `spa/support/dbus.h`

## Data Structures

struct | spa_dbus
struct | spa_dbus_connection_events
struct | spa_dbus_connection
struct | spa_dbus_methods

## Macros

#define | SPA_TYPE_INTERFACE_DBus SPA_TYPE_INFO_INTERFACE_BASE "DBus"
#define | SPA_VERSION_DBUS 0
#define | SPA_DBUS_CONNECTION_EVENT_DESTROY 0
#define | SPA_DBUS_CONNECTION_EVENT_DISCONNECTED 1
#define | SPA_DBUS_CONNECTION_EVENT_NUM 2
#define | SPA_VERSION_DBUS_CONNECTION_EVENTS 0
#define | SPA_VERSION_DBUS_CONNECTION 1
#define | spa_dbus_connection_call(c, method, vers, ...)
#define | spa_dbus_connection_call_vp(c, method, vers, ...)
#define | spa_dbus_connection_get(c) spa_dbus_connection_call_vp(c,get,0)
| Get the DBusConnection from a wrapper. More...
#define | spa_dbus_connection_destroy(c) spa_dbus_connection_call(c,destroy,0)
| Destroy a dbus connection wrapper. More...
#define | spa_dbus_connection_add_listener(c, ...) spa_dbus_connection_call(c,add_listener,1,__VA_ARGS__)
| Add a listener for events. More...
#define | SPA_VERSION_DBUS_METHODS 0

## Enumerations

enum | spa_dbus_type { SPA_DBUS_TYPE_SESSION , SPA_DBUS_TYPE_SYSTEM , SPA_DBUS_TYPE_STARTER }

## Functions

static struct spa_dbus_connection * | spa_dbus_get_connection (struct spa_dbus *dbus, enum spa_dbus_type type)
| Get a new connection wrapper for the given bus type. More...

## Detailed Description

DBus communication.

## Macro Definition Documentation

## SPA_TYPE_INTERFACE_DBus

#define SPA_TYPE_INTERFACE_DBus SPA_TYPE_INFO_INTERFACE_BASE "DBus"

## SPA_VERSION_DBUS

#define SPA_VERSION_DBUS 0

## SPA_DBUS_CONNECTION_EVENT_DESTROY

#define SPA_DBUS_CONNECTION_EVENT_DESTROY 0

## SPA_DBUS_CONNECTION_EVENT_DISCONNECTED

#define SPA_DBUS_CONNECTION_EVENT_DISCONNECTED 1

## SPA_DBUS_CONNECTION_EVENT_NUM

#define SPA_DBUS_CONNECTION_EVENT_NUM 2

## SPA_VERSION_DBUS_CONNECTION_EVENTS

#define SPA_VERSION_DBUS_CONNECTION_EVENTS 0

## SPA_VERSION_DBUS_CONNECTION

#define SPA_VERSION_DBUS_CONNECTION 1

## spa_dbus_connection_call

#define spa_dbus_connection_call | ( |  | c,
|  |  | method,
|  |  | vers,
|  |  | ...
| ) |  |

## spa_dbus_connection_call_vp

#define spa_dbus_connection_call_vp | ( |  | c,
|  |  | method,
|  |  | vers,
|  |  | ...
| ) |  |

## spa_dbus_connection_get

#define spa_dbus_connection_get | ( |  | c | ) | spa_dbus_connection_call_vp(c,get,0)

Get the DBusConnection from a wrapper.

Note that the returned handle is closed and unref'd by spa_dbus immediately before emitting the asynchronous "disconnected" event. The caller must either deal with the invalidation, or keep an extra ref on the handle returned.

Parameters

  conn | the spa_dbus_connection wrapper

Returns
  a pointer of type DBusConnection

See also
  spa_dbus_connection.get

## spa_dbus_connection_destroy

#define spa_dbus_connection_destroy | ( |  | c | ) | spa_dbus_connection_call(c,destroy,0)

Destroy a dbus connection wrapper.

Parameters

  conn | the wrapper to destroy

See also
  spa_dbus_connection.destroy

## spa_dbus_connection_add_listener

#define spa_dbus_connection_add_listener | ( |  | c,
|  |  | ...
| ) |  | spa_dbus_connection_call(c,add_listener,1,__VA_ARGS__)

Add a listener for events.

Since version 1

See also
  spa_dbus_connection.add_listener

## SPA_VERSION_DBUS_METHODS

#define SPA_VERSION_DBUS_METHODS 0

## Enumeration Type Documentation

## spa_dbus_type

enum spa_dbus_type

Enumerator
SPA_DBUS_TYPE_SESSION | The login session bus.
SPA_DBUS_TYPE_SYSTEM | The systemwide bus.
SPA_DBUS_TYPE_STARTER | The bus that started us, if any.

## Function Documentation

## spa_dbus_get_connection()

static struct spa_dbus_connection* spa_dbus_get_connection | ( | struct spa_dbus * | dbus,
|  | enum spa_dbus_type | type
| ) |  |

inline static

Get a new connection wrapper for the given bus type.

The connection wrapper is completely configured to operate in the main context of the handle that manages the spa_dbus interface.

Parameters

  dbus | the dbus manager
  type | the bus type to wrap
  error | location for the DBusError

Returns
  a new dbus connection wrapper or NULL on error

See also
  spa_dbus_methods.get_connection