gi-gio-2.0.27: Gio bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Interfaces.RemoteActionGroup

Description

The GRemoteActionGroup interface is implemented by ActionGroup 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 ActionGroup used to activate actions: actionGroupActivateAction and actionGroupChangeActionState. 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).

DBusActionGroup implements RemoteActionGroup. This provides a mechanism to send platform data for action invocations over D-Bus.

Additionally, dBusConnectionExportActionGroup will check if the exported ActionGroup implements RemoteActionGroup 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.

Since: 2.32

Synopsis

Exported types

class (GObject o, IsDescendantOf RemoteActionGroup o) => IsRemoteActionGroup o Source #

Type class for types which can be safely cast to RemoteActionGroup, for instance with toRemoteActionGroup.

Instances

Instances details
(GObject o, IsDescendantOf RemoteActionGroup o) => IsRemoteActionGroup o Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

toRemoteActionGroup :: (MonadIO m, IsRemoteActionGroup o) => o -> m RemoteActionGroup Source #

Cast to RemoteActionGroup, for types for which this is known to be safe. For general casts, use castTo.

Methods

Overloaded methods

activateActionFull

remoteActionGroupActivateActionFull Source #

Arguments

:: (HasCallStack, MonadIO m, IsRemoteActionGroup a) 
=> a

remote: a DBusActionGroup

-> Text

actionName: the name of the action to activate

-> Maybe GVariant

parameter: the optional parameter to the activation

-> GVariant

platformData: the platform data to send

-> m () 

Activates the remote action.

This is the same as actionGroupActivateAction 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.

platformData must be non-Nothing and must have the type G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.

Since: 2.32

changeActionStateFull

remoteActionGroupChangeActionStateFull Source #

Arguments

:: (HasCallStack, MonadIO m, IsRemoteActionGroup a) 
=> a

remote: a RemoteActionGroup

-> Text

actionName: the name of the action to change the state of

-> GVariant

value: the new requested value for the state

-> GVariant

platformData: the platform data to send

-> m () 

Changes the state of a remote action.

This is the same as actionGroupChangeActionState 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.

platformData must be non-Nothing and must have the type G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.

Since: 2.32