Package ch.bailu.gtk.gio
Class DBusAuthObserver
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.gio.DBusAuthObserver
- All Implemented Interfaces:
PointerInterface
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
## Controlling Authentication Mechanisms
By default, a #GDBusServer or server-side #GDBusConnection will allow
any authentication mechanism to be used. If you only
want to allow D-Bus connections with the `EXTERNAL` mechanism,
which makes use of credentials passing and is the recommended
mechanism for modern Unix platforms such as Linux and the BSD family,
you would use a signal handler like this:
## Controlling Authorization # {#auth-observer}
By default, a #GDBusServer or server-side #GDBusConnection will accept
connections from any successfully authenticated user (but not from
anonymous connections using the `ANONYMOUS` mechanism). If you only
want to allow D-Bus connections from processes owned by the same uid
as the server, since GLib 2.68, you should use the
%G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag. It’s equivalent
to the following signal handler:
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
## Controlling Authentication Mechanisms
By default, a #GDBusServer or server-side #GDBusConnection will allow
any authentication mechanism to be used. If you only
want to allow D-Bus connections with the `EXTERNAL` mechanism,
which makes use of credentials passing and is the recommended
mechanism for modern Unix platforms such as Linux and the BSD family,
you would use a signal handler like this:
<!-- language="C" --> static gboolean on_allow_mechanism (GDBusAuthObserver *observer, const gchar *mechanism, gpointer user_data) { if (g_strcmp0 (mechanism, "EXTERNAL") == 0) { return TRUE; } return FALSE; }
## Controlling Authorization # {#auth-observer}
By default, a #GDBusServer or server-side #GDBusConnection will accept
connections from any successfully authenticated user (but not from
anonymous connections using the `ANONYMOUS` mechanism). If you only
want to allow D-Bus connections from processes owned by the same uid
as the server, since GLib 2.68, you should use the
%G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag. It’s equivalent
to the following signal handler:
<!-- language="C" --> 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; }
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
ConstructorDescriptionCreates a new #GDBusAuthObserver object.DBusAuthObserver
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionboolean
allowMechanism
(Str mechanism) Emits the #GDBusAuthObserver::allow-mechanism signal on @observer.boolean
allowMechanism
(String mechanism) Emits the #GDBusAuthObserver::allow-mechanism signal on @observer.boolean
authorizeAuthenticatedPeer
(IOStream stream, Credentials credentials) Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer.static ClassHandler
static int
static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
Connect to signal "allow-mechanism".Connect to signal "authorize-authenticated-peer".Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
SIGNAL_ON_ALLOW_MECHANISM
- See Also:
-
SIGNAL_ON_AUTHORIZE_AUTHENTICATED_PEER
- See Also:
-
-
Constructor Details
-
DBusAuthObserver
-
DBusAuthObserver
public DBusAuthObserver()Creates a new #GDBusAuthObserver object.
-
-
Method Details
-
getClassHandler
-
allowMechanism
Emits the #GDBusAuthObserver::allow-mechanism signal on @observer.- Parameters:
mechanism
- The name of the mechanism, e.g. `DBUS_COOKIE_SHA1`.- Returns:
- %TRUE if @mechanism can be used to authenticate the other peer, %FALSE if not.
-
allowMechanism
Emits the #GDBusAuthObserver::allow-mechanism signal on @observer.- Parameters:
mechanism
- The name of the mechanism, e.g. `DBUS_COOKIE_SHA1`.- Returns:
- %TRUE if @mechanism can be used to authenticate the other peer, %FALSE if not.
-
authorizeAuthenticatedPeer
public boolean authorizeAuthenticatedPeer(@Nonnull IOStream stream, @Nullable Credentials credentials) Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer.- Parameters:
stream
- A #GIOStream for the #GDBusConnection.credentials
- Credentials received from the peer or %NULL.- Returns:
- %TRUE if the peer is authorized, %FALSE if not.
-
onAllowMechanism
Connect to signal "allow-mechanism".
SeeDBusAuthObserver.OnAllowMechanism.onAllowMechanism(ch.bailu.gtk.type.Str)
for signal description.
FieldSIGNAL_ON_ALLOW_MECHANISM
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onAuthorizeAuthenticatedPeer
public SignalHandler onAuthorizeAuthenticatedPeer(DBusAuthObserver.OnAuthorizeAuthenticatedPeer signal) Connect to signal "authorize-authenticated-peer".
SeeDBusAuthObserver.OnAuthorizeAuthenticatedPeer.onAuthorizeAuthenticatedPeer(ch.bailu.gtk.gio.IOStream, ch.bailu.gtk.gio.Credentials)
for signal description.
FieldSIGNAL_ON_AUTHORIZE_AUTHENTICATED_PEER
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-