Top |
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.
void g_remote_action_group_activate_action_full (GRemoteActionGroup *remote
,const gchar *action_name
,GVariant *parameter
,GVariant *platform_data
);
Activates the remote action.
This is the same as g_action_group_activate_action()
except that it
allows for provision of "platform data" to be sent along with the
activation request. This typically contains details such as the user
interaction timestamp or startup notification information.
platform_data
must be non-NULL
and must have the type
G_VARIANT_TYPE_VARDICT
. If it is floating, it will be consumed.
remote |
||
action_name |
the name of the action to activate |
|
parameter |
the optional parameter to the activation. |
[allow-none] |
platform_data |
the platform data to send |
Since: 2.32
void g_remote_action_group_change_action_state_full (GRemoteActionGroup *remote
,const gchar *action_name
,GVariant *value
,GVariant *platform_data
);
Changes the state of a remote action.
This is the same as g_action_group_change_action_state()
except that
it allows for provision of "platform data" to be sent along with the
state change request. This typically contains details such as the
user interaction timestamp or startup notification information.
platform_data
must be non-NULL
and must have the type
G_VARIANT_TYPE_VARDICT
. If it is floating, it will be consumed.
remote |
||
action_name |
the name of the action to change the state of |
|
value |
the new requested value for the state |
|
platform_data |
the platform data to send |
Since: 2.32
typedef struct _GRemoteActionGroup GRemoteActionGroup;
GRemoteActionGroup is an opaque data structure and can only be accessed using the following functions.
struct GRemoteActionGroupInterface { 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.
the virtual function pointer for |
||
the virtual function pointer for |
Since: 2.32