## EDBusServer EDBusServer — an abstract base class for a D-Bus server |

## Synopsis

    #include <libebackend/e-dbus-server>

    struct              EDBusServer;
    void                e_dbus_server_run                   (EDBusServer *server,
                                                             gboolean wait_for_client);
    void                e_dbus_server_quit                  (EDBusServer *server);
    void                e_dbus_server_hold                  (EDBusServer *server);
    void                e_dbus_server_release               (EDBusServer *server);
    void                e_dbus_server_load_modules          (EDBusServer *server);

## Object Hierarchy

      GObject
       +----EDBusServer
             +----EDataFactory

## Implemented Interfaces

EDBusServer implements EExtensible.

## Signals

      "bus-acquired"                                   : Run Last
      "bus-name-acquired"                              : Run Last
      "bus-name-lost"                                  : Run Last

## Description

## Details

### struct EDBusServer

    struct EDBusServer;

Contains only private data that should be read and manipulated using the functions below.

Since 3.4

### e_dbus_server_run ()

    void                e_dbus_server_run                   (EDBusServer *server,
                                                             gboolean wait_for_client);

### e_dbus_server_quit ()

    void                e_dbus_server_quit                  (EDBusServer *server);

### e_dbus_server_hold ()

    void                e_dbus_server_hold                  (EDBusServer *server);

Increases the use count of `server`.

Use this function to indicate that the server has a reason to continue to run. To cancel the hold, call `e_dbus_server_release()`.

`server` : | an EDBusServer

Since 3.4

### e_dbus_server_release ()

    void                e_dbus_server_release               (EDBusServer *server);

Decreates the use count of `server`.

When the use count reaches zero, the server will stop running.

Never call this function except to cancel the effect of a previous call to `e_dbus_server_hold()`.

`server` : | an EDBusServer

Since 3.4

### e_dbus_server_load_modules ()

    void                e_dbus_server_load_modules          (EDBusServer *server);

## Signal Details

### The `"bus-acquired"` signal

    void                user_function                      (EDBusServer     *edbusserver,
                                                            GDBusConnection *arg1,
                                                            gpointer         user_data)        : Run Last

### The `"bus-name-acquired"` signal

    void                user_function                      (EDBusServer     *edbusserver,
                                                            GDBusConnection *arg1,
                                                            gpointer         user_data)        : Run Last

### The `"bus-name-lost"` signal

    void                user_function                      (EDBusServer     *edbusserver,
                                                            GDBusConnection *arg1,
                                                            gpointer         user_data)        : Run Last