Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
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.
Synopsis
- newtype RemoteActionGroup = RemoteActionGroup (ManagedPtr RemoteActionGroup)
- noRemoteActionGroup :: Maybe RemoteActionGroup
- class GObject 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.
Instances
noRemoteActionGroup :: Maybe RemoteActionGroup Source #
A convenience alias for Nothing
:: Maybe
RemoteActionGroup
.
class GObject o => IsRemoteActionGroup o Source #
Type class for types which can be safely cast to RemoteActionGroup
, for instance with toRemoteActionGroup
.
Instances
(GObject a, (UnknownAncestorError RemoteActionGroup a :: Constraint)) => IsRemoteActionGroup a Source # | |
Defined in GI.Gio.Interfaces.RemoteActionGroup | |
IsRemoteActionGroup RemoteActionGroup Source # | |
Defined in GI.Gio.Interfaces.RemoteActionGroup | |
IsRemoteActionGroup DBusActionGroup Source # | |
Defined in GI.Gio.Objects.DBusActionGroup |
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
activateActionFull
remoteActionGroupActivateActionFull Source #
:: (HasCallStack, MonadIO m, IsRemoteActionGroup a) | |
=> a |
|
-> Text |
|
-> Maybe GVariant |
|
-> GVariant |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsRemoteActionGroup a) | |
=> a |
|
-> Text |
|
-> GVariant |
|
-> GVariant |
|
-> 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