static gboolean ensure_client_for_sender (gpointer user_data) { MessageFilterData *data = user_data; const gchar *sender; /* Ensure clients for our incoming connections */ sender = g_dbus_message_get_sender (data->message); gkd_secret_service_ensure_client (data->service, sender); g_clear_object (&data->service); g_clear_object (&data->message); g_slice_free (MessageFilterData, data); return FALSE; }
static void message_logged_cb ( BustlePcapMonitor *pcap, GDBusMessage *message, gboolean is_incoming, glong sec, glong usec, guint8 *data, guint len, gpointer user_data) { g_print ("(%s) %s -> %s: %u %s\n", is_incoming ? "incoming" : "outgoing", g_dbus_message_get_sender (message), g_dbus_message_get_destination (message), g_dbus_message_get_message_type (message), g_dbus_message_get_member (message)); }
static GDBusMessage * on_connection_filter (GDBusConnection *connection, GDBusMessage *message, gboolean incoming, gpointer user_data) { GDBusMessageType type; const gchar *sender; if (!incoming) return message; type = g_dbus_message_get_message_type (message); if (type == G_DBUS_MESSAGE_TYPE_METHOD_CALL) { sender = g_dbus_message_get_sender (message); g_return_val_if_fail (sender != NULL, NULL); invocation_client_create (connection, sender); } return message; }