{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Interfaces.Action
(
Action(..) ,
IsAction ,
toAction ,
#if defined(ENABLE_OVERLOADING)
ResolveActionMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ActionActivateMethodInfo ,
#endif
actionActivate ,
#if defined(ENABLE_OVERLOADING)
ActionChangeStateMethodInfo ,
#endif
actionChangeState ,
#if defined(ENABLE_OVERLOADING)
ActionGetEnabledMethodInfo ,
#endif
actionGetEnabled ,
#if defined(ENABLE_OVERLOADING)
ActionGetNameMethodInfo ,
#endif
actionGetName ,
#if defined(ENABLE_OVERLOADING)
ActionGetParameterTypeMethodInfo ,
#endif
actionGetParameterType ,
#if defined(ENABLE_OVERLOADING)
ActionGetStateMethodInfo ,
#endif
actionGetState ,
#if defined(ENABLE_OVERLOADING)
ActionGetStateHintMethodInfo ,
#endif
actionGetStateHint ,
#if defined(ENABLE_OVERLOADING)
ActionGetStateTypeMethodInfo ,
#endif
actionGetStateType ,
actionNameIsValid ,
actionParseDetailedName ,
actionPrintDetailedName ,
#if defined(ENABLE_OVERLOADING)
ActionEnabledPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
actionEnabled ,
#endif
getActionEnabled ,
#if defined(ENABLE_OVERLOADING)
ActionNamePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
actionName ,
#endif
getActionName ,
#if defined(ENABLE_OVERLOADING)
ActionParameterTypePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
actionParameterType ,
#endif
getActionParameterType ,
#if defined(ENABLE_OVERLOADING)
ActionStatePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
actionState ,
#endif
getActionState ,
#if defined(ENABLE_OVERLOADING)
ActionStateTypePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
actionStateType ,
#endif
getActionStateType ,
) 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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
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.Text as T
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 GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
newtype Action = Action (SP.ManagedPtr Action)
deriving (Action -> Action -> Bool
(Action -> Action -> Bool)
-> (Action -> Action -> Bool) -> Eq Action
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Action -> Action -> Bool
$c/= :: Action -> Action -> Bool
== :: Action -> Action -> Bool
$c== :: Action -> Action -> Bool
Eq)
instance SP.ManagedPtrNewtype Action where
toManagedPtr :: Action -> ManagedPtr Action
toManagedPtr (Action ManagedPtr Action
p) = ManagedPtr Action
p
foreign import ccall "g_action_get_type"
c_g_action_get_type :: IO B.Types.GType
instance B.Types.TypedObject Action where
glibType :: IO GType
glibType = IO GType
c_g_action_get_type
instance B.Types.GObject Action
instance B.GValue.IsGValue Action where
toGValue :: Action -> IO GValue
toGValue Action
o = do
GType
gtype <- IO GType
c_g_action_get_type
Action -> (Ptr Action -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Action
o (GType -> (GValue -> Ptr Action -> IO ()) -> Ptr Action -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Action -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Action
fromGValue GValue
gv = do
Ptr Action
ptr <- GValue -> IO (Ptr Action)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Action)
(ManagedPtr Action -> Action) -> Ptr Action -> IO Action
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Action -> Action
Action Ptr Action
ptr
class (SP.GObject o, O.IsDescendantOf Action o) => IsAction o
instance (SP.GObject o, O.IsDescendantOf Action o) => IsAction o
instance O.HasParentTypes Action
type instance O.ParentTypes Action = '[GObject.Object.Object]
toAction :: (MonadIO m, IsAction o) => o -> m Action
toAction :: o -> m Action
toAction = IO Action -> m Action
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Action -> m Action) -> (o -> IO Action) -> o -> m Action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Action -> Action) -> o -> IO Action
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Action -> Action
Action
getActionEnabled :: (MonadIO m, IsAction o) => o -> m Bool
getActionEnabled :: o -> m Bool
getActionEnabled o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"enabled"
#if defined(ENABLE_OVERLOADING)
data ActionEnabledPropertyInfo
instance AttrInfo ActionEnabledPropertyInfo where
type AttrAllowedOps ActionEnabledPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint ActionEnabledPropertyInfo = IsAction
type AttrSetTypeConstraint ActionEnabledPropertyInfo = (~) ()
type AttrTransferTypeConstraint ActionEnabledPropertyInfo = (~) ()
type AttrTransferType ActionEnabledPropertyInfo = ()
type AttrGetType ActionEnabledPropertyInfo = Bool
type AttrLabel ActionEnabledPropertyInfo = "enabled"
type AttrOrigin ActionEnabledPropertyInfo = Action
attrGet = getActionEnabled
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
#endif
getActionName :: (MonadIO m, IsAction o) => o -> m T.Text
getActionName :: o -> m Text
getActionName o
obj = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getActionName" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"name"
#if defined(ENABLE_OVERLOADING)
data ActionNamePropertyInfo
instance AttrInfo ActionNamePropertyInfo where
type AttrAllowedOps ActionNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ActionNamePropertyInfo = IsAction
type AttrSetTypeConstraint ActionNamePropertyInfo = (~) ()
type AttrTransferTypeConstraint ActionNamePropertyInfo = (~) ()
type AttrTransferType ActionNamePropertyInfo = ()
type AttrGetType ActionNamePropertyInfo = T.Text
type AttrLabel ActionNamePropertyInfo = "name"
type AttrOrigin ActionNamePropertyInfo = Action
attrGet = getActionName
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
#endif
getActionParameterType :: (MonadIO m, IsAction o) => o -> m (Maybe GLib.VariantType.VariantType)
getActionParameterType :: o -> m (Maybe VariantType)
getActionParameterType o
obj = IO (Maybe VariantType) -> m (Maybe VariantType)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe VariantType) -> m (Maybe VariantType))
-> IO (Maybe VariantType) -> m (Maybe VariantType)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr VariantType -> VariantType)
-> IO (Maybe VariantType)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"parameter-type" ManagedPtr VariantType -> VariantType
GLib.VariantType.VariantType
#if defined(ENABLE_OVERLOADING)
data ActionParameterTypePropertyInfo
instance AttrInfo ActionParameterTypePropertyInfo where
type AttrAllowedOps ActionParameterTypePropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ActionParameterTypePropertyInfo = IsAction
type AttrSetTypeConstraint ActionParameterTypePropertyInfo = (~) ()
type AttrTransferTypeConstraint ActionParameterTypePropertyInfo = (~) ()
type AttrTransferType ActionParameterTypePropertyInfo = ()
type AttrGetType ActionParameterTypePropertyInfo = (Maybe GLib.VariantType.VariantType)
type AttrLabel ActionParameterTypePropertyInfo = "parameter-type"
type AttrOrigin ActionParameterTypePropertyInfo = Action
attrGet = getActionParameterType
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
#endif
getActionState :: (MonadIO m, IsAction o) => o -> m (Maybe GVariant)
getActionState :: o -> m (Maybe GVariant)
getActionState o
obj = IO (Maybe GVariant) -> m (Maybe GVariant)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GVariant) -> m (Maybe GVariant))
-> IO (Maybe GVariant) -> m (Maybe GVariant)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe GVariant)
forall a. GObject a => a -> String -> IO (Maybe GVariant)
B.Properties.getObjectPropertyVariant o
obj String
"state"
#if defined(ENABLE_OVERLOADING)
data ActionStatePropertyInfo
instance AttrInfo ActionStatePropertyInfo where
type AttrAllowedOps ActionStatePropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ActionStatePropertyInfo = IsAction
type AttrSetTypeConstraint ActionStatePropertyInfo = (~) ()
type AttrTransferTypeConstraint ActionStatePropertyInfo = (~) ()
type AttrTransferType ActionStatePropertyInfo = ()
type AttrGetType ActionStatePropertyInfo = (Maybe GVariant)
type AttrLabel ActionStatePropertyInfo = "state"
type AttrOrigin ActionStatePropertyInfo = Action
attrGet = getActionState
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
#endif
getActionStateType :: (MonadIO m, IsAction o) => o -> m (Maybe GLib.VariantType.VariantType)
getActionStateType :: o -> m (Maybe VariantType)
getActionStateType o
obj = IO (Maybe VariantType) -> m (Maybe VariantType)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe VariantType) -> m (Maybe VariantType))
-> IO (Maybe VariantType) -> m (Maybe VariantType)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr VariantType -> VariantType)
-> IO (Maybe VariantType)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"state-type" ManagedPtr VariantType -> VariantType
GLib.VariantType.VariantType
#if defined(ENABLE_OVERLOADING)
data ActionStateTypePropertyInfo
instance AttrInfo ActionStateTypePropertyInfo where
type AttrAllowedOps ActionStateTypePropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ActionStateTypePropertyInfo = IsAction
type AttrSetTypeConstraint ActionStateTypePropertyInfo = (~) ()
type AttrTransferTypeConstraint ActionStateTypePropertyInfo = (~) ()
type AttrTransferType ActionStateTypePropertyInfo = ()
type AttrGetType ActionStateTypePropertyInfo = (Maybe GLib.VariantType.VariantType)
type AttrLabel ActionStateTypePropertyInfo = "state-type"
type AttrOrigin ActionStateTypePropertyInfo = Action
attrGet = getActionStateType
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Action
type instance O.AttributeList Action = ActionAttributeList
type ActionAttributeList = ('[ '("enabled", ActionEnabledPropertyInfo), '("name", ActionNamePropertyInfo), '("parameterType", ActionParameterTypePropertyInfo), '("state", ActionStatePropertyInfo), '("stateType", ActionStateTypePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
actionEnabled :: AttrLabelProxy "enabled"
actionEnabled = AttrLabelProxy
actionName :: AttrLabelProxy "name"
actionName = AttrLabelProxy
actionParameterType :: AttrLabelProxy "parameterType"
actionParameterType = AttrLabelProxy
actionState :: AttrLabelProxy "state"
actionState = AttrLabelProxy
actionStateType :: AttrLabelProxy "stateType"
actionStateType = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveActionMethod (t :: Symbol) (o :: *) :: * where
ResolveActionMethod "activate" o = ActionActivateMethodInfo
ResolveActionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveActionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveActionMethod "changeState" o = ActionChangeStateMethodInfo
ResolveActionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveActionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveActionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveActionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveActionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveActionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveActionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveActionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveActionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveActionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveActionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveActionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveActionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveActionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveActionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveActionMethod "getEnabled" o = ActionGetEnabledMethodInfo
ResolveActionMethod "getName" o = ActionGetNameMethodInfo
ResolveActionMethod "getParameterType" o = ActionGetParameterTypeMethodInfo
ResolveActionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveActionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveActionMethod "getState" o = ActionGetStateMethodInfo
ResolveActionMethod "getStateHint" o = ActionGetStateHintMethodInfo
ResolveActionMethod "getStateType" o = ActionGetStateTypeMethodInfo
ResolveActionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveActionMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveActionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveActionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveActionMethod t Action, O.MethodInfo info Action p) => OL.IsLabel t (Action -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
foreign import ccall "g_action_activate" g_action_activate ::
Ptr Action ->
Ptr GVariant ->
IO ()
actionActivate ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> Maybe (GVariant)
-> m ()
actionActivate :: a -> Maybe GVariant -> m ()
actionActivate a
action Maybe GVariant
parameter = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr GVariant
maybeParameter <- case Maybe GVariant
parameter of
Maybe GVariant
Nothing -> Ptr GVariant -> IO (Ptr GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GVariant
forall a. Ptr a
nullPtr
Just GVariant
jParameter -> do
Ptr GVariant
jParameter' <- GVariant -> IO (Ptr GVariant)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GVariant
jParameter
Ptr GVariant -> IO (Ptr GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GVariant
jParameter'
Ptr Action -> Ptr GVariant -> IO ()
g_action_activate Ptr Action
action' Ptr GVariant
maybeParameter
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Maybe GVariant -> (GVariant -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe GVariant
parameter GVariant -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ActionActivateMethodInfo
instance (signature ~ (Maybe (GVariant) -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionActivateMethodInfo a signature where
overloadedMethod = actionActivate
#endif
foreign import ccall "g_action_change_state" g_action_change_state ::
Ptr Action ->
Ptr GVariant ->
IO ()
actionChangeState ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> GVariant
-> m ()
actionChangeState :: a -> GVariant -> m ()
actionChangeState a
action GVariant
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr GVariant
value' <- GVariant -> IO (Ptr GVariant)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GVariant
value
Ptr Action -> Ptr GVariant -> IO ()
g_action_change_state Ptr Action
action' Ptr GVariant
value'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
GVariant -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GVariant
value
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ActionChangeStateMethodInfo
instance (signature ~ (GVariant -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionChangeStateMethodInfo a signature where
overloadedMethod = actionChangeState
#endif
foreign import ccall "g_action_get_enabled" g_action_get_enabled ::
Ptr Action ->
IO CInt
actionGetEnabled ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> m Bool
actionGetEnabled :: a -> m Bool
actionGetEnabled a
action = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
CInt
result <- Ptr Action -> IO CInt
g_action_get_enabled Ptr Action
action'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ActionGetEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionGetEnabledMethodInfo a signature where
overloadedMethod = actionGetEnabled
#endif
foreign import ccall "g_action_get_name" g_action_get_name ::
Ptr Action ->
IO CString
actionGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> m T.Text
actionGetName :: a -> m Text
actionGetName a
action = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
CString
result <- Ptr Action -> IO CString
g_action_get_name Ptr Action
action'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"actionGetName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data ActionGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetNameMethodInfo a signature where
overloadedMethod = actionGetName
#endif
foreign import ccall "g_action_get_parameter_type" g_action_get_parameter_type ::
Ptr Action ->
IO (Ptr GLib.VariantType.VariantType)
actionGetParameterType ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> m (Maybe GLib.VariantType.VariantType)
actionGetParameterType :: a -> m (Maybe VariantType)
actionGetParameterType a
action = IO (Maybe VariantType) -> m (Maybe VariantType)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe VariantType) -> m (Maybe VariantType))
-> IO (Maybe VariantType) -> m (Maybe VariantType)
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr VariantType
result <- Ptr Action -> IO (Ptr VariantType)
g_action_get_parameter_type Ptr Action
action'
Maybe VariantType
maybeResult <- Ptr VariantType
-> (Ptr VariantType -> IO VariantType) -> IO (Maybe VariantType)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr VariantType
result ((Ptr VariantType -> IO VariantType) -> IO (Maybe VariantType))
-> (Ptr VariantType -> IO VariantType) -> IO (Maybe VariantType)
forall a b. (a -> b) -> a -> b
$ \Ptr VariantType
result' -> do
VariantType
result'' <- ((ManagedPtr VariantType -> VariantType)
-> Ptr VariantType -> IO VariantType
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr VariantType -> VariantType
GLib.VariantType.VariantType) Ptr VariantType
result'
VariantType -> IO VariantType
forall (m :: * -> *) a. Monad m => a -> m a
return VariantType
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Maybe VariantType -> IO (Maybe VariantType)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe VariantType
maybeResult
#if defined(ENABLE_OVERLOADING)
data ActionGetParameterTypeMethodInfo
instance (signature ~ (m (Maybe GLib.VariantType.VariantType)), MonadIO m, IsAction a) => O.MethodInfo ActionGetParameterTypeMethodInfo a signature where
overloadedMethod = actionGetParameterType
#endif
foreign import ccall "g_action_get_state" g_action_get_state ::
Ptr Action ->
IO (Ptr GVariant)
actionGetState ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> m GVariant
actionGetState :: a -> m GVariant
actionGetState a
action = IO GVariant -> m GVariant
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GVariant -> m GVariant) -> IO GVariant -> m GVariant
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr GVariant
result <- Ptr Action -> IO (Ptr GVariant)
g_action_get_state Ptr Action
action'
Text -> Ptr GVariant -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"actionGetState" Ptr GVariant
result
GVariant
result' <- Ptr GVariant -> IO GVariant
B.GVariant.wrapGVariantPtr Ptr GVariant
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
GVariant -> IO GVariant
forall (m :: * -> *) a. Monad m => a -> m a
return GVariant
result'
#if defined(ENABLE_OVERLOADING)
data ActionGetStateMethodInfo
instance (signature ~ (m GVariant), MonadIO m, IsAction a) => O.MethodInfo ActionGetStateMethodInfo a signature where
overloadedMethod = actionGetState
#endif
foreign import ccall "g_action_get_state_hint" g_action_get_state_hint ::
Ptr Action ->
IO (Ptr GVariant)
actionGetStateHint ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> m (Maybe GVariant)
actionGetStateHint :: a -> m (Maybe GVariant)
actionGetStateHint a
action = IO (Maybe GVariant) -> m (Maybe GVariant)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GVariant) -> m (Maybe GVariant))
-> IO (Maybe GVariant) -> m (Maybe GVariant)
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr GVariant
result <- Ptr Action -> IO (Ptr GVariant)
g_action_get_state_hint Ptr Action
action'
Maybe GVariant
maybeResult <- Ptr GVariant
-> (Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr GVariant
result ((Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant))
-> (Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant)
forall a b. (a -> b) -> a -> b
$ \Ptr GVariant
result' -> do
GVariant
result'' <- Ptr GVariant -> IO GVariant
B.GVariant.wrapGVariantPtr Ptr GVariant
result'
GVariant -> IO GVariant
forall (m :: * -> *) a. Monad m => a -> m a
return GVariant
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Maybe GVariant -> IO (Maybe GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GVariant
maybeResult
#if defined(ENABLE_OVERLOADING)
data ActionGetStateHintMethodInfo
instance (signature ~ (m (Maybe GVariant)), MonadIO m, IsAction a) => O.MethodInfo ActionGetStateHintMethodInfo a signature where
overloadedMethod = actionGetStateHint
#endif
foreign import ccall "g_action_get_state_type" g_action_get_state_type ::
Ptr Action ->
IO (Ptr GLib.VariantType.VariantType)
actionGetStateType ::
(B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
a
-> m (Maybe GLib.VariantType.VariantType)
actionGetStateType :: a -> m (Maybe VariantType)
actionGetStateType a
action = IO (Maybe VariantType) -> m (Maybe VariantType)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe VariantType) -> m (Maybe VariantType))
-> IO (Maybe VariantType) -> m (Maybe VariantType)
forall a b. (a -> b) -> a -> b
$ do
Ptr Action
action' <- a -> IO (Ptr Action)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr VariantType
result <- Ptr Action -> IO (Ptr VariantType)
g_action_get_state_type Ptr Action
action'
Maybe VariantType
maybeResult <- Ptr VariantType
-> (Ptr VariantType -> IO VariantType) -> IO (Maybe VariantType)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr VariantType
result ((Ptr VariantType -> IO VariantType) -> IO (Maybe VariantType))
-> (Ptr VariantType -> IO VariantType) -> IO (Maybe VariantType)
forall a b. (a -> b) -> a -> b
$ \Ptr VariantType
result' -> do
VariantType
result'' <- ((ManagedPtr VariantType -> VariantType)
-> Ptr VariantType -> IO VariantType
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr VariantType -> VariantType
GLib.VariantType.VariantType) Ptr VariantType
result'
VariantType -> IO VariantType
forall (m :: * -> *) a. Monad m => a -> m a
return VariantType
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Maybe VariantType -> IO (Maybe VariantType)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe VariantType
maybeResult
#if defined(ENABLE_OVERLOADING)
data ActionGetStateTypeMethodInfo
instance (signature ~ (m (Maybe GLib.VariantType.VariantType)), MonadIO m, IsAction a) => O.MethodInfo ActionGetStateTypeMethodInfo a signature where
overloadedMethod = actionGetStateType
#endif
foreign import ccall "g_action_name_is_valid" g_action_name_is_valid ::
CString ->
IO CInt
actionNameIsValid ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m Bool
actionNameIsValid :: Text -> m Bool
actionNameIsValid Text
actionName = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CString
actionName' <- Text -> IO CString
textToCString Text
actionName
CInt
result <- CString -> IO CInt
g_action_name_is_valid CString
actionName'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
actionName'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_action_parse_detailed_name" g_action_parse_detailed_name ::
CString ->
Ptr CString ->
Ptr (Ptr GVariant) ->
Ptr (Ptr GError) ->
IO CInt
actionParseDetailedName ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m ((T.Text, GVariant))
actionParseDetailedName :: Text -> m (Text, GVariant)
actionParseDetailedName Text
detailedName = IO (Text, GVariant) -> m (Text, GVariant)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Text, GVariant) -> m (Text, GVariant))
-> IO (Text, GVariant) -> m (Text, GVariant)
forall a b. (a -> b) -> a -> b
$ do
CString
detailedName' <- Text -> IO CString
textToCString Text
detailedName
Ptr CString
actionName <- IO (Ptr CString)
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr CString)
Ptr (Ptr GVariant)
targetValue <- IO (Ptr (Ptr GVariant))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (Ptr GVariant))
IO (Text, GVariant) -> IO () -> IO (Text, GVariant)
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ CString
-> Ptr CString -> Ptr (Ptr GVariant) -> Ptr (Ptr GError) -> IO CInt
g_action_parse_detailed_name CString
detailedName' Ptr CString
actionName Ptr (Ptr GVariant)
targetValue
CString
actionName' <- Ptr CString -> IO CString
forall a. Storable a => Ptr a -> IO a
peek Ptr CString
actionName
Text
actionName'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
actionName'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
actionName'
Ptr GVariant
targetValue' <- Ptr (Ptr GVariant) -> IO (Ptr GVariant)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr GVariant)
targetValue
GVariant
targetValue'' <- Ptr GVariant -> IO GVariant
B.GVariant.wrapGVariantPtr Ptr GVariant
targetValue'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
detailedName'
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
actionName
Ptr (Ptr GVariant) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr GVariant)
targetValue
(Text, GVariant) -> IO (Text, GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return (Text
actionName'', GVariant
targetValue'')
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
detailedName'
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
actionName
Ptr (Ptr GVariant) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr GVariant)
targetValue
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_action_print_detailed_name" g_action_print_detailed_name ::
CString ->
Ptr GVariant ->
IO CString
actionPrintDetailedName ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (GVariant)
-> m T.Text
actionPrintDetailedName :: Text -> Maybe GVariant -> m Text
actionPrintDetailedName Text
actionName Maybe GVariant
targetValue = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
CString
actionName' <- Text -> IO CString
textToCString Text
actionName
Ptr GVariant
maybeTargetValue <- case Maybe GVariant
targetValue of
Maybe GVariant
Nothing -> Ptr GVariant -> IO (Ptr GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GVariant
forall a. Ptr a
nullPtr
Just GVariant
jTargetValue -> do
Ptr GVariant
jTargetValue' <- GVariant -> IO (Ptr GVariant)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GVariant
jTargetValue
Ptr GVariant -> IO (Ptr GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GVariant
jTargetValue'
CString
result <- CString -> Ptr GVariant -> IO CString
g_action_print_detailed_name CString
actionName' Ptr GVariant
maybeTargetValue
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"actionPrintDetailedName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
Maybe GVariant -> (GVariant -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe GVariant
targetValue GVariant -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
actionName'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Action = ActionSignalList
type ActionSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif