struct Gio::DBusServer::NewConnectionSignal

Overview

Emitted when a new authenticated connection has been made. Use g_dbus_connection_get_peer_credentials() to figure out what identity (if any), was authenticated.

If you want to accept the connection, take a reference to the @connection object and return true. When you are done with the connection call g_dbus_connection_close() and give up your reference. Note that the other peer may disconnect at any time - a typical thing to do when accepting a connection is to listen to the #GDBusConnection::closed signal.

If #GDBusServer:flags contains %G_DBUS_SERVER_FLAGS_RUN_IN_THREAD then the signal is emitted in a new thread dedicated to the connection. Otherwise the signal is emitted in the [thread-default main context][g-main-context-push-thread-default] of the thread that @server was constructed in.

You are guaranteed that signal handlers for this signal runs before incoming messages on @connection are processed. This means that it's suitable to call g_dbus_connection_register_object() or similar from the signal handler.

Defined in:

lib/gi-crystal/src/auto/gio-2.0/d_bus_server.cr

Instance Method Summary

Instance methods inherited from struct GObject::Signal

[](detail : String) : self [], name : String name

Constructor methods inherited from struct GObject::Signal

new(source : GObject::Object, detail : String? = nil) new

Instance Method Detail

def connect(*, after : Bool = false, &block : Proc(Gio::DBusConnection, Bool)) : GObject::SignalConnection #

def connect(handler : Proc(Gio::DBusConnection, Bool), *, after : Bool = false) : GObject::SignalConnection #

def connect(handler : Proc(Gio::DBusServer, Gio::DBusConnection, Bool), *, after : Bool = false) : GObject::SignalConnection #

def emit(connection : Gio::DBusConnection) : Nil #

def name : String #
Description copied from struct GObject::Signal

The signal name