gi-gio
CopyrightWill Thompson and Iñaki García Etxebarria
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 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

Exported types

newtype RemoteActionGroup Source #

Memory-managed wrapper type.

Instances

Instances details
Eq RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

GObject RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

ManagedPtrNewtype RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

TypedObject RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

Methods

glibType :: IO GType #

HasParentTypes RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

HasAttributeList RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

(info ~ ResolveRemoteActionGroupMethod t RemoteActionGroup, OverloadedMethod info RemoteActionGroup p, HasField t RemoteActionGroup p) => HasField (t :: Symbol) RemoteActionGroup (p :: Type) Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

(info ~ ResolveRemoteActionGroupMethod t RemoteActionGroup, OverloadedMethodInfo info RemoteActionGroup) => IsLabel t (MethodProxy info RemoteActionGroup) Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

(info ~ ResolveRemoteActionGroupMethod t RemoteActionGroup, OverloadedMethod info RemoteActionGroup p) => IsLabel t (RemoteActionGroup -> p) 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

type AttributeList RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

type ParentTypes RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

type SignalList RemoteActionGroup Source # 
Instance details

Defined in GI.Gio.Interfaces.RemoteActionGroup

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

type family ResolveRemoteActionGroupMethod (t :: Symbol) o where ... Source #

Equations

ResolveRemoteActionGroupMethod "actionAdded" o = ActionGroupActionAddedMethodInfo 
ResolveRemoteActionGroupMethod "actionEnabledChanged" o = ActionGroupActionEnabledChangedMethodInfo 
ResolveRemoteActionGroupMethod "actionRemoved" o = ActionGroupActionRemovedMethodInfo 
ResolveRemoteActionGroupMethod "actionStateChanged" o = ActionGroupActionStateChangedMethodInfo 
ResolveRemoteActionGroupMethod "activateAction" o = ActionGroupActivateActionMethodInfo 
ResolveRemoteActionGroupMethod "activateActionFull" o = RemoteActionGroupActivateActionFullMethodInfo 
ResolveRemoteActionGroupMethod "bindProperty" o = ObjectBindPropertyMethodInfo 
ResolveRemoteActionGroupMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo 
ResolveRemoteActionGroupMethod "changeActionState" o = ActionGroupChangeActionStateMethodInfo 
ResolveRemoteActionGroupMethod "changeActionStateFull" o = RemoteActionGroupChangeActionStateFullMethodInfo 
ResolveRemoteActionGroupMethod "forceFloating" o = ObjectForceFloatingMethodInfo 
ResolveRemoteActionGroupMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo 
ResolveRemoteActionGroupMethod "getv" o = ObjectGetvMethodInfo 
ResolveRemoteActionGroupMethod "hasAction" o = ActionGroupHasActionMethodInfo 
ResolveRemoteActionGroupMethod "isFloating" o = ObjectIsFloatingMethodInfo 
ResolveRemoteActionGroupMethod "listActions" o = ActionGroupListActionsMethodInfo 
ResolveRemoteActionGroupMethod "notify" o = ObjectNotifyMethodInfo 
ResolveRemoteActionGroupMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo 
ResolveRemoteActionGroupMethod "queryAction" o = ActionGroupQueryActionMethodInfo 
ResolveRemoteActionGroupMethod "ref" o = ObjectRefMethodInfo 
ResolveRemoteActionGroupMethod "refSink" o = ObjectRefSinkMethodInfo 
ResolveRemoteActionGroupMethod "runDispose" o = ObjectRunDisposeMethodInfo 
ResolveRemoteActionGroupMethod "stealData" o = ObjectStealDataMethodInfo 
ResolveRemoteActionGroupMethod "stealQdata" o = ObjectStealQdataMethodInfo 
ResolveRemoteActionGroupMethod "thawNotify" o = ObjectThawNotifyMethodInfo 
ResolveRemoteActionGroupMethod "unref" o = ObjectUnrefMethodInfo 
ResolveRemoteActionGroupMethod "watchClosure" o = ObjectWatchClosureMethodInfo 
ResolveRemoteActionGroupMethod "getActionEnabled" o = ActionGroupGetActionEnabledMethodInfo 
ResolveRemoteActionGroupMethod "getActionParameterType" o = ActionGroupGetActionParameterTypeMethodInfo 
ResolveRemoteActionGroupMethod "getActionState" o = ActionGroupGetActionStateMethodInfo 
ResolveRemoteActionGroupMethod "getActionStateHint" o = ActionGroupGetActionStateHintMethodInfo 
ResolveRemoteActionGroupMethod "getActionStateType" o = ActionGroupGetActionStateTypeMethodInfo 
ResolveRemoteActionGroupMethod "getData" o = ObjectGetDataMethodInfo 
ResolveRemoteActionGroupMethod "getProperty" o = ObjectGetPropertyMethodInfo 
ResolveRemoteActionGroupMethod "getQdata" o = ObjectGetQdataMethodInfo 
ResolveRemoteActionGroupMethod "setData" o = ObjectSetDataMethodInfo 
ResolveRemoteActionGroupMethod "setDataFull" o = ObjectSetDataFullMethodInfo 
ResolveRemoteActionGroupMethod "setProperty" o = ObjectSetPropertyMethodInfo 
ResolveRemoteActionGroupMethod l o = MethodResolutionFailed l o :: Type 

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