PipeWire  0.3.59
DBus

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_connectionspa_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
connthe 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
connthe 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

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 
)
inlinestatic

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
dbusthe dbus manager
typethe bus type to wrap
errorlocation for the DBusError
Returns
a new dbus connection wrapper or NULL on error
See also
spa_dbus_methods.get_connection