{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Interfaces.RemoteActionGroup
(
RemoteActionGroup(..) ,
IsRemoteActionGroup ,
toRemoteActionGroup ,
#if defined(ENABLE_OVERLOADING)
ResolveRemoteActionGroupMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
RemoteActionGroupActivateActionFullMethodInfo,
#endif
remoteActionGroupActivateActionFull ,
#if defined(ENABLE_OVERLOADING)
RemoteActionGroupChangeActionStateFullMethodInfo,
#endif
remoteActionGroupChangeActionStateFull ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
#else
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
#endif
newtype RemoteActionGroup = RemoteActionGroup (SP.ManagedPtr RemoteActionGroup)
deriving (RemoteActionGroup -> RemoteActionGroup -> Bool
(RemoteActionGroup -> RemoteActionGroup -> Bool)
-> (RemoteActionGroup -> RemoteActionGroup -> Bool)
-> Eq RemoteActionGroup
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RemoteActionGroup -> RemoteActionGroup -> Bool
== :: RemoteActionGroup -> RemoteActionGroup -> Bool
$c/= :: RemoteActionGroup -> RemoteActionGroup -> Bool
/= :: RemoteActionGroup -> RemoteActionGroup -> Bool
Eq)
instance SP.ManagedPtrNewtype RemoteActionGroup where
toManagedPtr :: RemoteActionGroup -> ManagedPtr RemoteActionGroup
toManagedPtr (RemoteActionGroup ManagedPtr RemoteActionGroup
p) = ManagedPtr RemoteActionGroup
p
foreign import ccall "g_remote_action_group_get_type"
c_g_remote_action_group_get_type :: IO B.Types.GType
instance B.Types.TypedObject RemoteActionGroup where
glibType :: IO GType
glibType = IO GType
c_g_remote_action_group_get_type
instance B.Types.GObject RemoteActionGroup
class (SP.GObject o, O.IsDescendantOf RemoteActionGroup o) => IsRemoteActionGroup o
instance (SP.GObject o, O.IsDescendantOf RemoteActionGroup o) => IsRemoteActionGroup o
instance O.HasParentTypes RemoteActionGroup
type instance O.ParentTypes RemoteActionGroup = '[Gio.ActionGroup.ActionGroup, GObject.Object.Object]
toRemoteActionGroup :: (MIO.MonadIO m, IsRemoteActionGroup o) => o -> m RemoteActionGroup
toRemoteActionGroup :: forall (m :: * -> *) o.
(MonadIO m, IsRemoteActionGroup o) =>
o -> m RemoteActionGroup
toRemoteActionGroup = IO RemoteActionGroup -> m RemoteActionGroup
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO RemoteActionGroup -> m RemoteActionGroup)
-> (o -> IO RemoteActionGroup) -> o -> m RemoteActionGroup
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr RemoteActionGroup -> RemoteActionGroup)
-> o -> IO RemoteActionGroup
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr RemoteActionGroup -> RemoteActionGroup
RemoteActionGroup
instance B.GValue.IsGValue (Maybe RemoteActionGroup) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_remote_action_group_get_type
gvalueSet_ :: Ptr GValue -> Maybe RemoteActionGroup -> IO ()
gvalueSet_ Ptr GValue
gv Maybe RemoteActionGroup
P.Nothing = Ptr GValue -> Ptr RemoteActionGroup -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr RemoteActionGroup
forall a. Ptr a
FP.nullPtr :: FP.Ptr RemoteActionGroup)
gvalueSet_ Ptr GValue
gv (P.Just RemoteActionGroup
obj) = RemoteActionGroup -> (Ptr RemoteActionGroup -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr RemoteActionGroup
obj (Ptr GValue -> Ptr RemoteActionGroup -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe RemoteActionGroup)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr RemoteActionGroup)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr RemoteActionGroup)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject RemoteActionGroup ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList RemoteActionGroup
type instance O.AttributeList RemoteActionGroup = RemoteActionGroupAttributeList
type RemoteActionGroupAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveRemoteActionGroupMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveRemoteActionGroupMethod "actionAdded" o = Gio.ActionGroup.ActionGroupActionAddedMethodInfo
ResolveRemoteActionGroupMethod "actionEnabledChanged" o = Gio.ActionGroup.ActionGroupActionEnabledChangedMethodInfo
ResolveRemoteActionGroupMethod "actionRemoved" o = Gio.ActionGroup.ActionGroupActionRemovedMethodInfo
ResolveRemoteActionGroupMethod "actionStateChanged" o = Gio.ActionGroup.ActionGroupActionStateChangedMethodInfo
ResolveRemoteActionGroupMethod "activateAction" o = Gio.ActionGroup.ActionGroupActivateActionMethodInfo
ResolveRemoteActionGroupMethod "activateActionFull" o = RemoteActionGroupActivateActionFullMethodInfo
ResolveRemoteActionGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveRemoteActionGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveRemoteActionGroupMethod "changeActionState" o = Gio.ActionGroup.ActionGroupChangeActionStateMethodInfo
ResolveRemoteActionGroupMethod "changeActionStateFull" o = RemoteActionGroupChangeActionStateFullMethodInfo
ResolveRemoteActionGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveRemoteActionGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveRemoteActionGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveRemoteActionGroupMethod "hasAction" o = Gio.ActionGroup.ActionGroupHasActionMethodInfo
ResolveRemoteActionGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveRemoteActionGroupMethod "listActions" o = Gio.ActionGroup.ActionGroupListActionsMethodInfo
ResolveRemoteActionGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveRemoteActionGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveRemoteActionGroupMethod "queryAction" o = Gio.ActionGroup.ActionGroupQueryActionMethodInfo
ResolveRemoteActionGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveRemoteActionGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveRemoteActionGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveRemoteActionGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveRemoteActionGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveRemoteActionGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveRemoteActionGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveRemoteActionGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveRemoteActionGroupMethod "getActionEnabled" o = Gio.ActionGroup.ActionGroupGetActionEnabledMethodInfo
ResolveRemoteActionGroupMethod "getActionParameterType" o = Gio.ActionGroup.ActionGroupGetActionParameterTypeMethodInfo
ResolveRemoteActionGroupMethod "getActionState" o = Gio.ActionGroup.ActionGroupGetActionStateMethodInfo
ResolveRemoteActionGroupMethod "getActionStateHint" o = Gio.ActionGroup.ActionGroupGetActionStateHintMethodInfo
ResolveRemoteActionGroupMethod "getActionStateType" o = Gio.ActionGroup.ActionGroupGetActionStateTypeMethodInfo
ResolveRemoteActionGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveRemoteActionGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveRemoteActionGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveRemoteActionGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveRemoteActionGroupMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveRemoteActionGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveRemoteActionGroupMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRemoteActionGroupMethod t RemoteActionGroup, O.OverloadedMethod info RemoteActionGroup p) => OL.IsLabel t (RemoteActionGroup -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveRemoteActionGroupMethod t RemoteActionGroup, O.OverloadedMethod info RemoteActionGroup p, R.HasField t RemoteActionGroup p) => R.HasField t RemoteActionGroup p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveRemoteActionGroupMethod t RemoteActionGroup, O.OverloadedMethodInfo info RemoteActionGroup) => OL.IsLabel t (O.MethodProxy info RemoteActionGroup) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "g_remote_action_group_activate_action_full" g_remote_action_group_activate_action_full ::
Ptr RemoteActionGroup ->
CString ->
Ptr GVariant ->
Ptr GVariant ->
IO ()
remoteActionGroupActivateActionFull ::
(B.CallStack.HasCallStack, MonadIO m, IsRemoteActionGroup a) =>
a
-> T.Text
-> Maybe (GVariant)
-> GVariant
-> m ()
remoteActionGroupActivateActionFull :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsRemoteActionGroup a) =>
a -> Text -> Maybe GVariant -> GVariant -> m ()
remoteActionGroupActivateActionFull a
remote Text
actionName Maybe GVariant
parameter GVariant
platformData = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
remote' <- a -> IO (Ptr RemoteActionGroup)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
remote
actionName' <- textToCString actionName
maybeParameter <- case parameter of
Maybe GVariant
Nothing -> Ptr GVariant -> IO (Ptr GVariant)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GVariant
forall a. Ptr a
FP.nullPtr
Just GVariant
jParameter -> do
jParameter' <- GVariant -> IO (Ptr GVariant)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GVariant
jParameter
return jParameter'
platformData' <- unsafeManagedPtrGetPtr platformData
g_remote_action_group_activate_action_full remote' actionName' maybeParameter platformData'
touchManagedPtr remote
whenJust parameter touchManagedPtr
touchManagedPtr platformData
freeMem actionName'
return ()
#if defined(ENABLE_OVERLOADING)
data RemoteActionGroupActivateActionFullMethodInfo
instance (signature ~ (T.Text -> Maybe (GVariant) -> GVariant -> m ()), MonadIO m, IsRemoteActionGroup a) => O.OverloadedMethod RemoteActionGroupActivateActionFullMethodInfo a signature where
overloadedMethod = remoteActionGroupActivateActionFull
instance O.OverloadedMethodInfo RemoteActionGroupActivateActionFullMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Interfaces.RemoteActionGroup.remoteActionGroupActivateActionFull",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Interfaces-RemoteActionGroup.html#v:remoteActionGroupActivateActionFull"
})
#endif
foreign import ccall "g_remote_action_group_change_action_state_full" g_remote_action_group_change_action_state_full ::
Ptr RemoteActionGroup ->
CString ->
Ptr GVariant ->
Ptr GVariant ->
IO ()
remoteActionGroupChangeActionStateFull ::
(B.CallStack.HasCallStack, MonadIO m, IsRemoteActionGroup a) =>
a
-> T.Text
-> GVariant
-> GVariant
-> m ()
remoteActionGroupChangeActionStateFull :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsRemoteActionGroup a) =>
a -> Text -> GVariant -> GVariant -> m ()
remoteActionGroupChangeActionStateFull a
remote Text
actionName GVariant
value GVariant
platformData = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
remote' <- a -> IO (Ptr RemoteActionGroup)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
remote
actionName' <- textToCString actionName
value' <- unsafeManagedPtrGetPtr value
platformData' <- unsafeManagedPtrGetPtr platformData
g_remote_action_group_change_action_state_full remote' actionName' value' platformData'
touchManagedPtr remote
touchManagedPtr value
touchManagedPtr platformData
freeMem actionName'
return ()
#if defined(ENABLE_OVERLOADING)
data RemoteActionGroupChangeActionStateFullMethodInfo
instance (signature ~ (T.Text -> GVariant -> GVariant -> m ()), MonadIO m, IsRemoteActionGroup a) => O.OverloadedMethod RemoteActionGroupChangeActionStateFullMethodInfo a signature where
overloadedMethod = remoteActionGroupChangeActionStateFull
instance O.OverloadedMethodInfo RemoteActionGroupChangeActionStateFullMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Interfaces.RemoteActionGroup.remoteActionGroupChangeActionStateFull",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Interfaces-RemoteActionGroup.html#v:remoteActionGroupChangeActionStateFull"
})
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList RemoteActionGroup = RemoteActionGroupSignalList
type RemoteActionGroupSignalList = ('[ '("actionAdded", Gio.ActionGroup.ActionGroupActionAddedSignalInfo), '("actionEnabledChanged", Gio.ActionGroup.ActionGroupActionEnabledChangedSignalInfo), '("actionRemoved", Gio.ActionGroup.ActionGroupActionRemovedSignalInfo), '("actionStateChanged", Gio.ActionGroup.ActionGroupActionStateChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif