### Interface

# Gio RemoteActionGroup

since: 2.32

#### Description

    interface Gio.RemoteActionGroup : Gio.ActionGroup

The `GRemoteActionGroup` interface is implemented by `GActionGroup` instances that either transmit action invocations to other processes or receive action invocations in the local process from other processes.

The interface has `_full` variants of the two methods on `GActionGroup` used to activate actions: `g_action_group_activate_action()` and `g_action_group_change_action_state()`. These variants allow a ‘platform data’ `GVariant` to be specified: a dictionary providing context for the action invocation (for example: timestamps, startup notification IDs, etc).

`GDBusActionGroup` implements `GRemoteActionGroup`. This provides a mechanism to send platform data for action invocations over D-Bus.

Additionally, `g_dbus_connection_export_action_group()` will check if the exported `GActionGroup` implements `GRemoteActionGroup` and use the `_full` variants of the calls if available. This provides a mechanism by which to receive platform data for action invocations that arrive by way of D-Bus.

Available since: 2.32

#### Prerequisite

In order to implement RemoteActionGroup, your type must inherit from`GActionGroup`.

#### Implementations

- GDBusActionGroup

#### Instance methods

###### g_remote_action_group_activate_action_full

Activates the remote action.

since: 2.32

###### g_remote_action_group_change_action_state_full

Changes the state of a remote action.

since: 2.32

#### Interface structure

    struct GioRemoteActionGroupInterface {
      GTypeInterface g_iface;
      void (* activate_action_full) (
        GRemoteActionGroup* remote,
        const gchar* action_name,
        GVariant* parameter,
        GVariant* platform_data
      );
      void (* change_action_state_full) (
        GRemoteActionGroup* remote,
        const gchar* action_name,
        GVariant* value,
        GVariant* platform_data
      );

    }

The virtual function table for `GRemoteActionGroup`.

###### Interface members

`g_iface` |
    GTypeInterface
| No description available.
`activate_action_full` |
    void (* activate_action_full) (
        GRemoteActionGroup* remote,
        const gchar* action_name,
        GVariant* parameter,
        GVariant* platform_data
      )
| The virtual function pointer for `g_remote_action_group_activate_action_full()`
`change_action_state_full` |
    void (* change_action_state_full) (
        GRemoteActionGroup* remote,
        const gchar* action_name,
        GVariant* value,
        GVariant* platform_data
      )
| The virtual function pointer for `g_remote_action_group_change_action_state_full()`

#### Virtual methods

###### Gio.RemoteActionGroup.activate_action_full

Activates the remote action.

since: 2.32

###### Gio.RemoteActionGroup.change_action_state_full

Changes the state of a remote action.

since: 2.32