|  |  |  | GIO Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Signals | ||||
#include <gio/gio.h>
                    GDBusAuthObserver;
GDBusAuthObserver * g_dbus_auth_observer_new            (void);
gboolean            g_dbus_auth_observer_authorize_authenticated_peer
                                                        (GDBusAuthObserver *observer,
                                                         GIOStream *stream,
                                                         GCredentials *credentials);
The GDBusAuthObserver type provides a mechanism for participating in how a GDBusServer (or a GDBusConnection) authenticates remote peers. Simply instantiate a GDBusAuthObserver and connect to the signals you are interested in. Note that new signals may be added in the future
For example, if you only want to allow D-Bus connections from processes owned by the same uid as the server, you would use a signal handler like the following:
Example 7. Controlling Authentication
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | static gboolean on_authorize_authenticated_peer (GDBusAuthObserver *observer, GIOStream *stream, GCredentials *credentials, gpointer user_data) { gboolean authorized; authorized = FALSE; if (credentials != NULL) { GCredentials *own_credentials; own_credentials = g_credentials_new (); if (g_credentials_is_same_user (credentials, own_credentials, NULL)) authorized = TRUE; g_object_unref (own_credentials); } return authorized; } | 
typedef struct _GDBusAuthObserver GDBusAuthObserver;
The GDBusAuthObserver structure contains only private data and should only be accessed using the provided API.
Since 2.26
GDBusAuthObserver * g_dbus_auth_observer_new            (void);
Creates a new GDBusAuthObserver object.
| Returns : | A GDBusAuthObserver. Free with g_object_unref(). | 
Since 2.26
gboolean g_dbus_auth_observer_authorize_authenticated_peer (GDBusAuthObserver *observer,GIOStream *stream,GCredentials *credentials);
Emits the "authorize-authenticated-peer" signal on observer.
| 
 | A GDBusAuthObserver. | 
| 
 | A GIOStream for the GDBusConnection. | 
| 
 | Credentials received from the peer or NULL. | 
| Returns : | TRUEif the peer is authorized,FALSEif not. | 
Since 2.26
"authorize-authenticated-peer" signalgboolean            user_function                      (GDBusAuthObserver *observer,
                                                        GIOStream         *stream,
                                                        GCredentials      *credentials,
                                                        gpointer           user_data)        : Run Last
Emitted to check if a peer that is successfully authenticated is authorized.
| 
 | The GDBusAuthObserver emitting the signal. | 
| 
 | A GIOStream for the GDBusConnection. | 
| 
 | Credentials received from the peer or NULL. | 
| 
 | user data set when the signal handler was connected. | 
| Returns : | TRUEif the peer is authorized,FALSEif not. | 
Since 2.26