gi-gio-0.2.46.12: GI/Gio/Objects/SimpleAction.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gio.Objects.SimpleAction
(
-- * Exported types
SimpleAction(..) ,
SimpleActionK ,
toSimpleAction ,
noSimpleAction ,
-- * Methods
-- ** simpleActionNew
simpleActionNew ,
-- ** simpleActionNewStateful
simpleActionNewStateful ,
-- ** simpleActionSetEnabled
simpleActionSetEnabled ,
-- ** simpleActionSetState
simpleActionSetState ,
-- ** simpleActionSetStateHint
simpleActionSetStateHint ,
-- * Properties
-- ** Enabled
SimpleActionEnabledPropertyInfo ,
constructSimpleActionEnabled ,
getSimpleActionEnabled ,
setSimpleActionEnabled ,
-- ** Name
SimpleActionNamePropertyInfo ,
constructSimpleActionName ,
getSimpleActionName ,
-- ** ParameterType
SimpleActionParameterTypePropertyInfo ,
constructSimpleActionParameterType ,
getSimpleActionParameterType ,
-- ** State
SimpleActionStatePropertyInfo ,
constructSimpleActionState ,
getSimpleActionState ,
setSimpleActionState ,
-- ** StateType
SimpleActionStateTypePropertyInfo ,
getSimpleActionStateType ,
-- * Signals
-- ** Activate
SimpleActionActivateCallback ,
SimpleActionActivateCallbackC ,
SimpleActionActivateSignalInfo ,
afterSimpleActionActivate ,
mkSimpleActionActivateCallback ,
noSimpleActionActivateCallback ,
onSimpleActionActivate ,
simpleActionActivateCallbackWrapper ,
simpleActionActivateClosure ,
-- ** ChangeState
SimpleActionChangeStateCallback ,
SimpleActionChangeStateCallbackC ,
SimpleActionChangeStateSignalInfo ,
afterSimpleActionChangeState ,
mkSimpleActionChangeStateCallback ,
noSimpleActionChangeStateCallback ,
onSimpleActionChangeState ,
simpleActionChangeStateCallbackWrapper ,
simpleActionChangeStateClosure ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GLib as GLib
import qualified GI.GObject as GObject
newtype SimpleAction = SimpleAction (ForeignPtr SimpleAction)
foreign import ccall "g_simple_action_get_type"
c_g_simple_action_get_type :: IO GType
type instance ParentTypes SimpleAction = SimpleActionParentTypes
type SimpleActionParentTypes = '[GObject.Object, Action]
instance GObject SimpleAction where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_simple_action_get_type
class GObject o => SimpleActionK o
instance (GObject o, IsDescendantOf SimpleAction o) => SimpleActionK o
toSimpleAction :: SimpleActionK o => o -> IO SimpleAction
toSimpleAction = unsafeCastTo SimpleAction
noSimpleAction :: Maybe SimpleAction
noSimpleAction = Nothing
-- signal SimpleAction::activate
type SimpleActionActivateCallback =
Maybe GVariant ->
IO ()
noSimpleActionActivateCallback :: Maybe SimpleActionActivateCallback
noSimpleActionActivateCallback = Nothing
type SimpleActionActivateCallbackC =
Ptr () -> -- object
Ptr GVariant ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkSimpleActionActivateCallback :: SimpleActionActivateCallbackC -> IO (FunPtr SimpleActionActivateCallbackC)
simpleActionActivateClosure :: SimpleActionActivateCallback -> IO Closure
simpleActionActivateClosure cb = newCClosure =<< mkSimpleActionActivateCallback wrapped
where wrapped = simpleActionActivateCallbackWrapper cb
simpleActionActivateCallbackWrapper ::
SimpleActionActivateCallback ->
Ptr () ->
Ptr GVariant ->
Ptr () ->
IO ()
simpleActionActivateCallbackWrapper _cb _ parameter _ = do
maybeParameter <-
if parameter == nullPtr
then return Nothing
else do
parameter' <- newGVariantFromPtr parameter
return $ Just parameter'
_cb maybeParameter
onSimpleActionActivate :: (GObject a, MonadIO m) => a -> SimpleActionActivateCallback -> m SignalHandlerId
onSimpleActionActivate obj cb = liftIO $ connectSimpleActionActivate obj cb SignalConnectBefore
afterSimpleActionActivate :: (GObject a, MonadIO m) => a -> SimpleActionActivateCallback -> m SignalHandlerId
afterSimpleActionActivate obj cb = connectSimpleActionActivate obj cb SignalConnectAfter
connectSimpleActionActivate :: (GObject a, MonadIO m) =>
a -> SimpleActionActivateCallback -> SignalConnectMode -> m SignalHandlerId
connectSimpleActionActivate obj cb after = liftIO $ do
cb' <- mkSimpleActionActivateCallback (simpleActionActivateCallbackWrapper cb)
connectSignalFunPtr obj "activate" cb' after
-- signal SimpleAction::change-state
type SimpleActionChangeStateCallback =
Maybe GVariant ->
IO ()
noSimpleActionChangeStateCallback :: Maybe SimpleActionChangeStateCallback
noSimpleActionChangeStateCallback = Nothing
type SimpleActionChangeStateCallbackC =
Ptr () -> -- object
Ptr GVariant ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkSimpleActionChangeStateCallback :: SimpleActionChangeStateCallbackC -> IO (FunPtr SimpleActionChangeStateCallbackC)
simpleActionChangeStateClosure :: SimpleActionChangeStateCallback -> IO Closure
simpleActionChangeStateClosure cb = newCClosure =<< mkSimpleActionChangeStateCallback wrapped
where wrapped = simpleActionChangeStateCallbackWrapper cb
simpleActionChangeStateCallbackWrapper ::
SimpleActionChangeStateCallback ->
Ptr () ->
Ptr GVariant ->
Ptr () ->
IO ()
simpleActionChangeStateCallbackWrapper _cb _ value _ = do
maybeValue <-
if value == nullPtr
then return Nothing
else do
value' <- newGVariantFromPtr value
return $ Just value'
_cb maybeValue
onSimpleActionChangeState :: (GObject a, MonadIO m) => a -> SimpleActionChangeStateCallback -> m SignalHandlerId
onSimpleActionChangeState obj cb = liftIO $ connectSimpleActionChangeState obj cb SignalConnectBefore
afterSimpleActionChangeState :: (GObject a, MonadIO m) => a -> SimpleActionChangeStateCallback -> m SignalHandlerId
afterSimpleActionChangeState obj cb = connectSimpleActionChangeState obj cb SignalConnectAfter
connectSimpleActionChangeState :: (GObject a, MonadIO m) =>
a -> SimpleActionChangeStateCallback -> SignalConnectMode -> m SignalHandlerId
connectSimpleActionChangeState obj cb after = liftIO $ do
cb' <- mkSimpleActionChangeStateCallback (simpleActionChangeStateCallbackWrapper cb)
connectSignalFunPtr obj "change-state" cb' after
--- XXX Duplicated object with different types:
--- Name {namespace = "Gio", name = "SimpleAction"} -> Property {propName = "enabled", propType = TBasicType TBoolean, propFlags = [PropertyReadable,PropertyWritable], propTransfer = TransferNothing, propDeprecated = Nothing}
--- Name {namespace = "Gio", name = "Action"} -> Property {propName = "enabled", propType = TBasicType TBoolean, propFlags = [PropertyReadable], propTransfer = TransferNothing, propDeprecated = Nothing}
--- XXX Duplicated object with different types:
--- Name {namespace = "Gio", name = "SimpleAction"} -> Property {propName = "name", propType = TBasicType TUTF8, propFlags = [PropertyReadable,PropertyWritable,PropertyConstructOnly], propTransfer = TransferNothing, propDeprecated = Nothing}
--- Name {namespace = "Gio", name = "Action"} -> Property {propName = "name", propType = TBasicType TUTF8, propFlags = [PropertyReadable], propTransfer = TransferNothing, propDeprecated = Nothing}
--- XXX Duplicated object with different types:
--- Name {namespace = "Gio", name = "SimpleAction"} -> Property {propName = "parameter-type", propType = TInterface "GLib" "VariantType", propFlags = [PropertyReadable,PropertyWritable,PropertyConstructOnly], propTransfer = TransferNothing, propDeprecated = Nothing}
--- Name {namespace = "Gio", name = "Action"} -> Property {propName = "parameter-type", propType = TInterface "GLib" "VariantType", propFlags = [PropertyReadable], propTransfer = TransferNothing, propDeprecated = Nothing}
--- XXX Duplicated object with different types:
--- Name {namespace = "Gio", name = "SimpleAction"} -> Property {propName = "state", propType = TVariant, propFlags = [PropertyReadable,PropertyWritable,PropertyConstruct], propTransfer = TransferNothing, propDeprecated = Nothing}
--- Name {namespace = "Gio", name = "Action"} -> Property {propName = "state", propType = TVariant, propFlags = [PropertyReadable], propTransfer = TransferNothing, propDeprecated = Nothing}
-- VVV Prop "enabled"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
getSimpleActionEnabled :: (MonadIO m, SimpleActionK o) => o -> m Bool
getSimpleActionEnabled obj = liftIO $ getObjectPropertyBool obj "enabled"
setSimpleActionEnabled :: (MonadIO m, SimpleActionK o) => o -> Bool -> m ()
setSimpleActionEnabled obj val = liftIO $ setObjectPropertyBool obj "enabled" val
constructSimpleActionEnabled :: Bool -> IO ([Char], GValue)
constructSimpleActionEnabled val = constructObjectPropertyBool "enabled" val
data SimpleActionEnabledPropertyInfo
instance AttrInfo SimpleActionEnabledPropertyInfo where
type AttrAllowedOps SimpleActionEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionEnabledPropertyInfo = (~) Bool
type AttrBaseTypeConstraint SimpleActionEnabledPropertyInfo = SimpleActionK
type AttrGetType SimpleActionEnabledPropertyInfo = Bool
type AttrLabel SimpleActionEnabledPropertyInfo = "SimpleAction::enabled"
attrGet _ = getSimpleActionEnabled
attrSet _ = setSimpleActionEnabled
attrConstruct _ = constructSimpleActionEnabled
-- VVV Prop "name"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getSimpleActionName :: (MonadIO m, SimpleActionK o) => o -> m T.Text
getSimpleActionName obj = liftIO $ getObjectPropertyString obj "name"
constructSimpleActionName :: T.Text -> IO ([Char], GValue)
constructSimpleActionName val = constructObjectPropertyString "name" val
data SimpleActionNamePropertyInfo
instance AttrInfo SimpleActionNamePropertyInfo where
type AttrAllowedOps SimpleActionNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint SimpleActionNamePropertyInfo = SimpleActionK
type AttrGetType SimpleActionNamePropertyInfo = T.Text
type AttrLabel SimpleActionNamePropertyInfo = "SimpleAction::name"
attrGet _ = getSimpleActionName
attrSet _ = undefined
attrConstruct _ = constructSimpleActionName
-- VVV Prop "parameter-type"
-- Type: TInterface "GLib" "VariantType"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getSimpleActionParameterType :: (MonadIO m, SimpleActionK o) => o -> m GLib.VariantType
getSimpleActionParameterType obj = liftIO $ getObjectPropertyBoxed obj "parameter-type" GLib.VariantType
constructSimpleActionParameterType :: GLib.VariantType -> IO ([Char], GValue)
constructSimpleActionParameterType val = constructObjectPropertyBoxed "parameter-type" val
data SimpleActionParameterTypePropertyInfo
instance AttrInfo SimpleActionParameterTypePropertyInfo where
type AttrAllowedOps SimpleActionParameterTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionParameterTypePropertyInfo = (~) GLib.VariantType
type AttrBaseTypeConstraint SimpleActionParameterTypePropertyInfo = SimpleActionK
type AttrGetType SimpleActionParameterTypePropertyInfo = GLib.VariantType
type AttrLabel SimpleActionParameterTypePropertyInfo = "SimpleAction::parameter-type"
attrGet _ = getSimpleActionParameterType
attrSet _ = undefined
attrConstruct _ = constructSimpleActionParameterType
-- VVV Prop "state"
-- Type: TVariant
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
getSimpleActionState :: (MonadIO m, SimpleActionK o) => o -> m GVariant
getSimpleActionState obj = liftIO $ getObjectPropertyVariant obj "state"
setSimpleActionState :: (MonadIO m, SimpleActionK o) => o -> GVariant -> m ()
setSimpleActionState obj val = liftIO $ setObjectPropertyVariant obj "state" val
constructSimpleActionState :: GVariant -> IO ([Char], GValue)
constructSimpleActionState val = constructObjectPropertyVariant "state" val
data SimpleActionStatePropertyInfo
instance AttrInfo SimpleActionStatePropertyInfo where
type AttrAllowedOps SimpleActionStatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SimpleActionStatePropertyInfo = (~) GVariant
type AttrBaseTypeConstraint SimpleActionStatePropertyInfo = SimpleActionK
type AttrGetType SimpleActionStatePropertyInfo = GVariant
type AttrLabel SimpleActionStatePropertyInfo = "SimpleAction::state"
attrGet _ = getSimpleActionState
attrSet _ = setSimpleActionState
attrConstruct _ = constructSimpleActionState
-- VVV Prop "state-type"
-- Type: TInterface "GLib" "VariantType"
-- Flags: [PropertyReadable]
getSimpleActionStateType :: (MonadIO m, SimpleActionK o) => o -> m GLib.VariantType
getSimpleActionStateType obj = liftIO $ getObjectPropertyBoxed obj "state-type" GLib.VariantType
data SimpleActionStateTypePropertyInfo
instance AttrInfo SimpleActionStateTypePropertyInfo where
type AttrAllowedOps SimpleActionStateTypePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint SimpleActionStateTypePropertyInfo = (~) ()
type AttrBaseTypeConstraint SimpleActionStateTypePropertyInfo = SimpleActionK
type AttrGetType SimpleActionStateTypePropertyInfo = GLib.VariantType
type AttrLabel SimpleActionStateTypePropertyInfo = "SimpleAction::state-type"
attrGet _ = getSimpleActionStateType
attrSet _ = undefined
attrConstruct _ = undefined
type instance AttributeList SimpleAction = SimpleActionAttributeList
type SimpleActionAttributeList = ('[ '("state-type", SimpleActionStateTypePropertyInfo)] :: [(Symbol, *)])
data SimpleActionActivateSignalInfo
instance SignalInfo SimpleActionActivateSignalInfo where
type HaskellCallbackType SimpleActionActivateSignalInfo = SimpleActionActivateCallback
connectSignal _ = connectSimpleActionActivate
data SimpleActionChangeStateSignalInfo
instance SignalInfo SimpleActionChangeStateSignalInfo where
type HaskellCallbackType SimpleActionChangeStateSignalInfo = SimpleActionChangeStateCallback
connectSignal _ = connectSimpleActionChangeState
type instance SignalList SimpleAction = SimpleActionSignalList
type SimpleActionSignalList = ('[ '("activate", SimpleActionActivateSignalInfo), '("change-state", SimpleActionChangeStateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method SimpleAction::new
-- method type : Constructor
-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parameter_type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parameter_type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SimpleAction"
-- throws : False
-- Skip return : False
foreign import ccall "g_simple_action_new" g_simple_action_new ::
CString -> -- name : TBasicType TUTF8
Ptr GLib.VariantType -> -- parameter_type : TInterface "GLib" "VariantType"
IO (Ptr SimpleAction)
simpleActionNew ::
(MonadIO m) =>
T.Text -> -- name
Maybe (GLib.VariantType) -> -- parameter_type
m SimpleAction
simpleActionNew name parameter_type = liftIO $ do
name' <- textToCString name
maybeParameter_type <- case parameter_type of
Nothing -> return nullPtr
Just jParameter_type -> do
let jParameter_type' = unsafeManagedPtrGetPtr jParameter_type
return jParameter_type'
result <- g_simple_action_new name' maybeParameter_type
checkUnexpectedReturnNULL "g_simple_action_new" result
result' <- (wrapObject SimpleAction) result
whenJust parameter_type touchManagedPtr
freeMem name'
return result'
-- method SimpleAction::new_stateful
-- method type : Constructor
-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parameter_type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parameter_type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SimpleAction"
-- throws : False
-- Skip return : False
foreign import ccall "g_simple_action_new_stateful" g_simple_action_new_stateful ::
CString -> -- name : TBasicType TUTF8
Ptr GLib.VariantType -> -- parameter_type : TInterface "GLib" "VariantType"
Ptr GVariant -> -- state : TVariant
IO (Ptr SimpleAction)
simpleActionNewStateful ::
(MonadIO m) =>
T.Text -> -- name
Maybe (GLib.VariantType) -> -- parameter_type
GVariant -> -- state
m SimpleAction
simpleActionNewStateful name parameter_type state = liftIO $ do
name' <- textToCString name
maybeParameter_type <- case parameter_type of
Nothing -> return nullPtr
Just jParameter_type -> do
let jParameter_type' = unsafeManagedPtrGetPtr jParameter_type
return jParameter_type'
let state' = unsafeManagedPtrGetPtr state
result <- g_simple_action_new_stateful name' maybeParameter_type state'
checkUnexpectedReturnNULL "g_simple_action_new_stateful" result
result' <- (wrapObject SimpleAction) result
whenJust parameter_type touchManagedPtr
freeMem name'
return result'
-- method SimpleAction::set_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "SimpleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "SimpleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_simple_action_set_enabled" g_simple_action_set_enabled ::
Ptr SimpleAction -> -- _obj : TInterface "Gio" "SimpleAction"
CInt -> -- enabled : TBasicType TBoolean
IO ()
simpleActionSetEnabled ::
(MonadIO m, SimpleActionK a) =>
a -> -- _obj
Bool -> -- enabled
m ()
simpleActionSetEnabled _obj enabled = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let enabled' = (fromIntegral . fromEnum) enabled
g_simple_action_set_enabled _obj' enabled'
touchManagedPtr _obj
return ()
-- method SimpleAction::set_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "SimpleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "SimpleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_simple_action_set_state" g_simple_action_set_state ::
Ptr SimpleAction -> -- _obj : TInterface "Gio" "SimpleAction"
Ptr GVariant -> -- value : TVariant
IO ()
simpleActionSetState ::
(MonadIO m, SimpleActionK a) =>
a -> -- _obj
GVariant -> -- value
m ()
simpleActionSetState _obj value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let value' = unsafeManagedPtrGetPtr value
g_simple_action_set_state _obj' value'
touchManagedPtr _obj
return ()
-- method SimpleAction::set_state_hint
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "SimpleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state_hint", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "SimpleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state_hint", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_simple_action_set_state_hint" g_simple_action_set_state_hint ::
Ptr SimpleAction -> -- _obj : TInterface "Gio" "SimpleAction"
Ptr GVariant -> -- state_hint : TVariant
IO ()
simpleActionSetStateHint ::
(MonadIO m, SimpleActionK a) =>
a -> -- _obj
Maybe (GVariant) -> -- state_hint
m ()
simpleActionSetStateHint _obj state_hint = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeState_hint <- case state_hint of
Nothing -> return nullPtr
Just jState_hint -> do
let jState_hint' = unsafeManagedPtrGetPtr jState_hint
return jState_hint'
g_simple_action_set_state_hint _obj' maybeState_hint
touchManagedPtr _obj
return ()