Blame platform-overview/oc/tech-d-bus.page

Packit 1470ea
Packit 1470ea
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-d-bus" xml:lang="oc">
Packit 1470ea
Packit 1470ea
  <info>
Packit 1470ea
    <link type="guide" xref="tech" group="d-bus"/>
Packit 1470ea
    <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Shaun McCance</name>
Packit 1470ea
      <email its:translate="no">shaunm@gnome.org</email>
Packit 1470ea
      <years>2011–2012</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
Packit 1470ea
Packit 1470ea
    <desc>Inter-process communication bus to provide APIs to other
Packit 1470ea
    processes</desc>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
<title>D-Bus</title>
Packit 1470ea
Packit 1470ea

D-Bus is a message bus for sending messages between

Packit 1470ea
various applications, the desktop, and low-level components of the system.
Packit 1470ea
D-Bus provides a simple API for sending messages to particular services
Packit 1470ea
and for broadcasting messages to all interested services.  D-Bus enables
Packit 1470ea
different types of applications to communicate and integrate with each
Packit 1470ea
other and with the desktop, providing better interaction and a richer
Packit 1470ea
experience for the user.  

Packit 1470ea
Packit 1470ea

D-Bus provides a session bus and a system bus. The session bus is

Packit 1470ea
used by applications in a single user session, allowing them to share
Packit 1470ea
data and event notifications and to integrate into the user's desktop.
Packit 1470ea
For example, movie players can send a D-Bus message to prevent the
Packit 1470ea
screensaver from activating while the user is watching a movie.

Packit 1470ea
Packit 1470ea

The system bus is a single message bus which runs independently of

Packit 1470ea
any user sessions.  It can communicate with applications in any session,
Packit 1470ea
enabling those applications to interact with system components without
Packit 1470ea
dealing with low-level system details.  The system bus is used to provide
Packit 1470ea
important functionality that users expect to work on their systems.  For
Packit 1470ea
example, the system bus is used to monitor when network interfaces go up
Packit 1470ea
or down, when external drives get plugged in, and when laptop batteries
Packit 1470ea
are low.

Packit 1470ea
Packit 1470ea

D-Bus is developed jointly on <link href="http://www.freedesktop.org/">freedesktop.org</link>, so you can

Packit 1470ea
use it with different desktop environments and applications.  Because
Packit 1470ea
D-Bus is a cross-desktop project, you use it to create portable and
Packit 1470ea
versatile software that seamlessly integrates with the user's desktop,
Packit 1470ea
regardless of which desktop it is.

Packit 1470ea
Packit 1470ea
  

GNOME provides full support for D-Bus using the GDBus APIs in

Packit 1470ea
  <link xref="tech-gio">GIO</link>.

Packit 1470ea
Packit 1470ea
<list style="compact">
Packit 1470ea
  <item>

<link href="https://developer.gnome.org/gio/stable/">GIO Reference Manual</link>

</item>
Packit 1470ea
  <item>

<link href="http://dbus.freedesktop.org/doc/dbus-tutorial.html">D-Bus Tutorial</link>

</item>
Packit 1470ea
  <item>

<link href="http://dbus.freedesktop.org/doc/dbus-specification.html">D-Bus Specification</link>

</item>
Packit 1470ea
</list>
Packit 1470ea
Packit 1470ea
</page>