## GActionGroup exporter GActionGroup exporter — Export GActionGroups on D-Bus |

## Synopsis

    guint               g_dbus_connection_export_action_group
                                                            (GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GActionGroup *action_group,
                                                             GError **error);
    void                g_dbus_connection_unexport_action_group
                                                            (GDBusConnection *connection,
                                                             guint export_id);

## Description

These functions support exporting a GActionGroup on D-Bus. The D-Bus interface that is used is a private implementation detail.

To access an exported GActionGroup remotely, use `g_dbus_action_group_new()` to obtain a GDBusActionGroup.

## Details

### g_dbus_connection_export_action_group ()

    guint               g_dbus_connection_export_action_group
                                                            (GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GActionGroup *action_group,
                                                             GError **error);

Exports `action_group` on `connection` at `object_path`.

The implemented D-Bus API should be considered private. It is subject to change in the future.

A given object path can only have one action group exported on it. If this constraint is violated, the export will fail and 0 will be returned (with `error` set accordingly).

You can unexport the action group using `g_dbus_connection_unexport_action_group()` with the return value of this function.

The thread default main context is taken at the time of this call. All incoming action activations and state change requests are reported from this context. Any changes on the action group that cause it to emit signals must also come from this same context. Since incoming action activations and state change requests are rather likely to cause changes on the action group, this effectively limits a given action group to being exported from only one main context.

`connection` : | a GDBusConnection
`object_path` : | a D-Bus object path
`action_group` : | a GActionGroup
`error` : | a pointer to a `NULL` GError, or `NULL`
Returns : | the ID of the export (never zero), or 0 in case of failure

Since 2.32

### g_dbus_connection_unexport_action_group ()

    void                g_dbus_connection_unexport_action_group
                                                            (GDBusConnection *connection,
                                                             guint export_id);

Reverses the effect of a previous call to `g_dbus_connection_export_action_group()`.

It is an error to call this function with an ID that wasn't returned from `g_dbus_connection_export_action_group()` or to call it with the same ID more than once.

`connection` : | a GDBusConnection
`export_id` : | the ID from `g_dbus_connection_export_action_group()`

Since 2.32

## See Also

GActionGroup, GDBusActionGroup