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;
}
Exemple #2
0
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));
}
Exemple #3
0
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;
}