EDBusServer

EDBusServer — An abstract base class for a D-Bus server

Functions

Signals

void bus-acquired Run Last
void bus-name-acquired Run Last
void bus-name-lost Run Last
void quit-server Run Last
EDBusServerExitCode run-server Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── EDBusServer
        ├── EDataFactory
        ╰── EUserPrompterServer

Implemented Interfaces

EDBusServer implements EExtensible.

Includes

#include <libebackend/libebackend.h>

Description

Functions

e_dbus_server_run ()

EDBusServerExitCode
e_dbus_server_run (EDBusServer *server,
                   gboolean wait_for_client);

Emits the “run” signal.

By default the server will start its main loop and attempt to acquire its well-known session bus name. If the server 's main loop is already running, the function will immediately return E_DBUS_SERVER_EXIT_NONE. Otherwise the function blocks until e_dbus_server_quit() is called.

If wait_for_client is TRUE, the server will continue running until the first client connection is made instead of quitting on its own if no client connection is made within the first few seconds.

Parameters

server

an EDBusServer

 

wait_for_client

continue running until a client connects

 

Returns

the exit code passed to e_dbus_server_quit()

Since 3.4


e_dbus_server_quit ()

void
e_dbus_server_quit (EDBusServer *server,
                    EDBusServerExitCode code);

Emits the “quit” signal with the given code .

By default the server will quit its main loop and cause e_dbus_server_run() to return code .

Parameters

server

an EDBusServer

 

code

an EDBusServerExitCode

 

Since 3.4


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().

Parameters

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().

Parameters

server

an EDBusServer

 

Since 3.4


e_dbus_server_load_modules ()

void
e_dbus_server_load_modules (EDBusServer *server);

This function should be called once during server initialization to load all available library modules to extend the server 's functionality.

Parameters

server

an EDBusServer

 

Since 3.4

Types and Values

struct EDBusServer

struct EDBusServer;

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

Since 3.4


enum EDBusServerExitCode

Exit codes submitted to e_dbus_server_quit() and returned by e_dbus_server_run().

Members

E_DBUS_SERVER_EXIT_NONE

The server's run state is unchanged.

 

E_DBUS_SERVER_EXIT_NORMAL

Normal termination. The process itself may now terminate.

 

E_DBUS_SERVER_EXIT_RELOAD

The server should reload its configuration and start again. Servers that do not support reloading may wish to intercept this exit code and stop the “quit-server” emission.

 

Since 3.6

Signal Details

The “bus-acquired” signal

void
user_function (EDBusServer     *server,
               GDBusConnection *connection,
               gpointer         user_data)

Emitted when server acquires a connection to the session bus.

Parameters

server

the EDBusServer which emitted the signal

 

connection

the GDBusConnection to the session bus

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “bus-name-acquired” signal

void
user_function (EDBusServer     *server,
               GDBusConnection *connection,
               gpointer         user_data)

Emitted when server acquires its well-known session bus name.

Parameters

server

the EDBusServer which emitted the signal

 

connection

the GDBusConnection to the session bus

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “bus-name-lost” signal

void
user_function (EDBusServer     *server,
               GDBusConnection *connection,
               gpointer         user_data)

Emitted when server loses its well-known session bus name or the session bus connection has been closed.

Parameters

server

the EDBusServer which emitted the signal

 

connection

the GDBusconnection to the session bus, or NULL if the connection has been closed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “quit-server” signal

void
user_function (EDBusServer        *server,
               EDBusServerExitCode code,
               gpointer            user_data)

Emitted to request that server quit its main loop.

Parameters

server

the EDBusServer which emitted the signal

 

code

an EDBusServerExitCode

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “run-server” signal

EDBusServerExitCode
user_function (EDBusServer *server,
               gpointer     user_data)

Emitted to request that server start its main loop and attempt to acquire its well-known session bus name.

Parameters

server

the EDBusServer which emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Returns

an EDBusServerExitCode

Flags: Run Last