- else
- g_assert_not_reached ();
-}
-
-static void
-g_application_impl_actions_method_call (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
-{
- GApplicationImpl *impl = user_data;
- GActionGroup *action_group;
- GApplicationClass *class;
-
- class = G_APPLICATION_GET_CLASS (impl->app);
- action_group = G_ACTION_GROUP (impl->app);
-
- if (strcmp (method_name, "DescribeAll") == 0)
- {
- GVariantBuilder builder;
- gchar **actions;
- gint i;
-
- actions = g_action_group_list_actions (action_group);
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("(a(savbav))"));
- g_variant_builder_open (&builder, G_VARIANT_TYPE ("a(savbav)"));
-
- for (i = 0; actions[i]; i++)
- {
- /* Open */
- g_variant_builder_open (&builder, G_VARIANT_TYPE ("(savbav)"));
-
- /* Name */
- g_variant_builder_add (&builder, "s", actions[i]);
-
- /* Parameter type */
- g_variant_builder_open (&builder, G_VARIANT_TYPE ("av"));
- {
- const GVariantType *type;
-
- type = g_action_group_get_action_parameter_type (action_group,
- actions[i]);
- if (type != NULL)
- {
- GVariantType *array_type;
-
- array_type = g_variant_type_new_array (type);
- g_variant_builder_open (&builder, G_VARIANT_TYPE_VARIANT);
- g_variant_builder_open (&builder, array_type);
- g_variant_builder_close (&builder);
- g_variant_builder_close (&builder);
- g_variant_type_free (array_type);
- }
- }
- g_variant_builder_close (&builder);
-
- /* Enabled */
- {
- gboolean enabled = g_action_group_get_action_enabled (action_group,
- actions[i]);
- g_variant_builder_add (&builder, "b", enabled);
- }
-
- /* State */
- g_variant_builder_open (&builder, G_VARIANT_TYPE ("av"));
- {
- GVariant *state = g_action_group_get_action_state (action_group,
- actions[i]);
- if (state != NULL)
- {
- g_variant_builder_add (&builder, "v", state);
- g_variant_unref (state);
- }
- }
- g_variant_builder_close (&builder);
-
- /* Close */
- g_variant_builder_close (&builder);
- }
- g_variant_builder_close (&builder);
-
- g_dbus_method_invocation_return_value (invocation,
- g_variant_builder_end (&builder));
-
- g_strfreev (actions);
- }
-
- else if (strcmp (method_name, "SetState") == 0)