gi-gio-2.0.32: Gio bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | Safe-Inferred
Language | Haskell2010

GI.Gio.Interfaces.RemoteActionGroup

Contents

- Exported types
- Methods
  - activateActionFull
  - changeActionStateFull

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’ [struct`gLib`.Variant] to be specified: a dictionary providing context for the action invocation (for example: timestamps, startup notification IDs, etc).

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

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

Since: 2.32

Synopsis

- newtype RemoteActionGroup = RemoteActionGroup (ManagedPtr RemoteActionGroup)
- class (GObject o, IsDescendantOf RemoteActionGroup o) => IsRemoteActionGroup o
- toRemoteActionGroup :: (MonadIO m, IsRemoteActionGroup o) => o -> m RemoteActionGroup
- remoteActionGroupActivateActionFull :: (HasCallStack, MonadIO m, IsRemoteActionGroup a) => a -> Text -> Maybe GVariant -> GVariant -> m ()
- remoteActionGroupChangeActionStateFull :: (HasCallStack, MonadIO m, IsRemoteActionGroup a) => a -> Text -> GVariant -> GVariant -> m ()

# Exported types

newtype RemoteActionGroup Source #

Memory-managed wrapper type.

Constructors

RemoteActionGroup (ManagedPtr RemoteActionGroup) |

#### Instances

Instances details

Eq RemoteActionGroup Source # |
Instance details Defined in GI.Gio.Interfaces.RemoteActionGroup Methods (==) :: RemoteActionGroup -> RemoteActionGroup -> Bool Source # (/=) :: RemoteActionGroup -> RemoteActionGroup -> Bool Source #
GObject RemoteActionGroup Source # |
Instance details Defined in GI.Gio.Interfaces.RemoteActionGroup
ManagedPtrNewtype RemoteActionGroup Source # |
Instance details Defined in GI.Gio.Interfaces.RemoteActionGroup Methods toManagedPtr :: RemoteActionGroup -> ManagedPtr RemoteActionGroup Source #
TypedObject RemoteActionGroup Source # |
Instance details Defined in GI.Gio.Interfaces.RemoteActionGroup Methods glibType :: IO GType Source #
HasParentTypes RemoteActionGroup Source # |
Instance details Defined in GI.Gio.Interfaces.RemoteActionGroup
IsGValue (Maybe RemoteActionGroup) Source # | Convert `RemoteActionGroup` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gio.Interfaces.RemoteActionGroup Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe RemoteActionGroup -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe RemoteActionGroup) Source #
type ParentTypes RemoteActionGroup Source # |
Instance details Defined in GI.Gio.Interfaces.RemoteActionGroup type ParentTypes RemoteActionGroup = '[ActionGroup, Object]

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

### Click to display all available methods, including inherited ones

Expand

#### Methods

actionAdded, actionEnabledChanged, actionRemoved, actionStateChanged, activateAction, activateActionFull, bindProperty, bindPropertyFull, changeActionState, changeActionStateFull, forceFloating, freezeNotify, getv, hasAction, isFloating, listActions, notify, notifyByPspec, queryAction, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getActionEnabled, getActionParameterType, getActionState, getActionStateHint, getActionStateType, getData, getProperty, getQdata.

#### Setters

setData, setDataFull, setProperty.

## 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