#define ENABLE_OVERLOADING \
(!defined(__HADDOCK_VERSION__))
module GI.GObject.Objects.Binding
(
Binding(..) ,
IsBinding ,
toBinding ,
noBinding ,
#if ENABLE_OVERLOADING
BindingGetFlagsMethodInfo ,
#endif
bindingGetFlags ,
#if ENABLE_OVERLOADING
BindingGetSourceMethodInfo ,
#endif
bindingGetSource ,
#if ENABLE_OVERLOADING
BindingGetSourcePropertyMethodInfo ,
#endif
bindingGetSourceProperty ,
#if ENABLE_OVERLOADING
BindingGetTargetMethodInfo ,
#endif
bindingGetTarget ,
#if ENABLE_OVERLOADING
BindingGetTargetPropertyMethodInfo ,
#endif
bindingGetTargetProperty ,
#if ENABLE_OVERLOADING
BindingUnbindMethodInfo ,
#endif
bindingUnbind ,
#if ENABLE_OVERLOADING
BindingFlagsPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
bindingFlags ,
#endif
constructBindingFlags ,
getBindingFlags ,
#if ENABLE_OVERLOADING
BindingSourcePropertyInfo ,
#endif
#if ENABLE_OVERLOADING
bindingSource ,
#endif
constructBindingSource ,
getBindingSource ,
#if ENABLE_OVERLOADING
BindingSourcePropertyPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
bindingSourceProperty ,
#endif
constructBindingSourceProperty ,
getBindingSourceProperty ,
#if ENABLE_OVERLOADING
BindingTargetPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
bindingTarget ,
#endif
constructBindingTarget ,
getBindingTarget ,
#if ENABLE_OVERLOADING
BindingTargetPropertyPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
bindingTargetProperty ,
#endif
constructBindingTargetProperty ,
getBindingTargetProperty ,
) 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.ManagedPtr as B.ManagedPtr
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.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
import {-# SOURCE #-} qualified GI.GObject.Objects.Object as GObject.Object
newtype Binding = Binding (ManagedPtr Binding)
foreign import ccall "g_binding_get_type"
c_g_binding_get_type :: IO GType
instance GObject Binding where
gobjectType :: Binding -> IO GType
gobjectType _ = IO GType
c_g_binding_get_type
class GObject o => IsBinding o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError Binding a) =>
IsBinding a
#endif
instance IsBinding Binding
instance GObject.Object.IsObject Binding
toBinding :: (MonadIO m, IsBinding o) => o -> m Binding
toBinding :: o -> m Binding
toBinding = IO Binding -> m Binding
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Binding -> m Binding) -> (o -> IO Binding) -> o -> m Binding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Binding -> Binding) -> o -> IO Binding
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Binding -> Binding
Binding
noBinding :: Maybe Binding
noBinding :: Maybe Binding
noBinding = Maybe Binding
forall a. Maybe a
Nothing
#if ENABLE_OVERLOADING
type family ResolveBindingMethod (t :: Symbol) (o :: *) :: * where
ResolveBindingMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveBindingMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveBindingMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveBindingMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveBindingMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveBindingMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveBindingMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveBindingMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveBindingMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveBindingMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveBindingMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveBindingMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveBindingMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveBindingMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveBindingMethod "unbind" o = BindingUnbindMethodInfo
ResolveBindingMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveBindingMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveBindingMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveBindingMethod "getFlags" o = BindingGetFlagsMethodInfo
ResolveBindingMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveBindingMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveBindingMethod "getSource" o = BindingGetSourceMethodInfo
ResolveBindingMethod "getSourceProperty" o = BindingGetSourcePropertyMethodInfo
ResolveBindingMethod "getTarget" o = BindingGetTargetMethodInfo
ResolveBindingMethod "getTargetProperty" o = BindingGetTargetPropertyMethodInfo
ResolveBindingMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveBindingMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveBindingMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveBindingMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveBindingMethod t Binding, O.MethodInfo info Binding p) => O.IsLabelProxy t (Binding -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveBindingMethod t Binding, O.MethodInfo info Binding p) => O.IsLabel t (Binding -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
getBindingFlags :: (MonadIO m, IsBinding o) => o -> m [GObject.Flags.BindingFlags]
getBindingFlags :: o -> m [BindingFlags]
getBindingFlags obj :: o
obj = IO [BindingFlags] -> m [BindingFlags]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [BindingFlags] -> m [BindingFlags])
-> IO [BindingFlags] -> m [BindingFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [BindingFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
getObjectPropertyFlags o
obj "flags"
constructBindingFlags :: (IsBinding o) => [GObject.Flags.BindingFlags] -> IO (GValueConstruct o)
constructBindingFlags :: [BindingFlags] -> IO (GValueConstruct o)
constructBindingFlags val :: [BindingFlags]
val = String -> [BindingFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
constructObjectPropertyFlags "flags" [BindingFlags]
val
#if ENABLE_OVERLOADING
data BindingFlagsPropertyInfo
instance AttrInfo BindingFlagsPropertyInfo where
type AttrAllowedOps BindingFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint BindingFlagsPropertyInfo = (~) [GObject.Flags.BindingFlags]
type AttrBaseTypeConstraint BindingFlagsPropertyInfo = IsBinding
type AttrGetType BindingFlagsPropertyInfo = [GObject.Flags.BindingFlags]
type AttrLabel BindingFlagsPropertyInfo = "flags"
type AttrOrigin BindingFlagsPropertyInfo = Binding
attrGet _ = getBindingFlags
attrSet _ = undefined
attrConstruct _ = constructBindingFlags
attrClear _ = undefined
#endif
getBindingSource :: (MonadIO m, IsBinding o) => o -> m GObject.Object.Object
getBindingSource :: o -> m Object
getBindingSource obj :: o
obj = IO Object -> m Object
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Object) -> IO Object
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing "getBindingSource" (IO (Maybe Object) -> IO Object) -> IO (Maybe Object) -> IO Object
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Object -> Object) -> IO (Maybe Object)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
getObjectPropertyObject o
obj "source" ManagedPtr Object -> Object
GObject.Object.Object
constructBindingSource :: (IsBinding o, GObject.Object.IsObject a) => a -> IO (GValueConstruct o)
constructBindingSource :: a -> IO (GValueConstruct o)
constructBindingSource val :: a
val = String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
constructObjectPropertyObject "source" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)
#if ENABLE_OVERLOADING
data BindingSourcePropertyInfo
instance AttrInfo BindingSourcePropertyInfo where
type AttrAllowedOps BindingSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint BindingSourcePropertyInfo = GObject.Object.IsObject
type AttrBaseTypeConstraint BindingSourcePropertyInfo = IsBinding
type AttrGetType BindingSourcePropertyInfo = GObject.Object.Object
type AttrLabel BindingSourcePropertyInfo = "source"
type AttrOrigin BindingSourcePropertyInfo = Binding
attrGet _ = getBindingSource
attrSet _ = undefined
attrConstruct _ = constructBindingSource
attrClear _ = undefined
#endif
getBindingSourceProperty :: (MonadIO m, IsBinding o) => o -> m T.Text
getBindingSourceProperty :: o -> m Text
getBindingSourceProperty obj :: 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 "getBindingSourceProperty" (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)
getObjectPropertyString o
obj "source-property"
constructBindingSourceProperty :: (IsBinding o) => T.Text -> IO (GValueConstruct o)
constructBindingSourceProperty :: Text -> IO (GValueConstruct o)
constructBindingSourceProperty val :: Text
val = String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
constructObjectPropertyString "source-property" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
#if ENABLE_OVERLOADING
data BindingSourcePropertyPropertyInfo
instance AttrInfo BindingSourcePropertyPropertyInfo where
type AttrAllowedOps BindingSourcePropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint BindingSourcePropertyPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint BindingSourcePropertyPropertyInfo = IsBinding
type AttrGetType BindingSourcePropertyPropertyInfo = T.Text
type AttrLabel BindingSourcePropertyPropertyInfo = "source-property"
type AttrOrigin BindingSourcePropertyPropertyInfo = Binding
attrGet _ = getBindingSourceProperty
attrSet _ = undefined
attrConstruct _ = constructBindingSourceProperty
attrClear _ = undefined
#endif
getBindingTarget :: (MonadIO m, IsBinding o) => o -> m GObject.Object.Object
getBindingTarget :: o -> m Object
getBindingTarget obj :: o
obj = IO Object -> m Object
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Object) -> IO Object
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing "getBindingTarget" (IO (Maybe Object) -> IO Object) -> IO (Maybe Object) -> IO Object
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Object -> Object) -> IO (Maybe Object)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
getObjectPropertyObject o
obj "target" ManagedPtr Object -> Object
GObject.Object.Object
constructBindingTarget :: (IsBinding o, GObject.Object.IsObject a) => a -> IO (GValueConstruct o)
constructBindingTarget :: a -> IO (GValueConstruct o)
constructBindingTarget val :: a
val = String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
constructObjectPropertyObject "target" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)
#if ENABLE_OVERLOADING
data BindingTargetPropertyInfo
instance AttrInfo BindingTargetPropertyInfo where
type AttrAllowedOps BindingTargetPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint BindingTargetPropertyInfo = GObject.Object.IsObject
type AttrBaseTypeConstraint BindingTargetPropertyInfo = IsBinding
type AttrGetType BindingTargetPropertyInfo = GObject.Object.Object
type AttrLabel BindingTargetPropertyInfo = "target"
type AttrOrigin BindingTargetPropertyInfo = Binding
attrGet _ = getBindingTarget
attrSet _ = undefined
attrConstruct _ = constructBindingTarget
attrClear _ = undefined
#endif
getBindingTargetProperty :: (MonadIO m, IsBinding o) => o -> m T.Text
getBindingTargetProperty :: o -> m Text
getBindingTargetProperty obj :: 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 "getBindingTargetProperty" (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)
getObjectPropertyString o
obj "target-property"
constructBindingTargetProperty :: (IsBinding o) => T.Text -> IO (GValueConstruct o)
constructBindingTargetProperty :: Text -> IO (GValueConstruct o)
constructBindingTargetProperty val :: Text
val = String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
constructObjectPropertyString "target-property" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
#if ENABLE_OVERLOADING
data BindingTargetPropertyPropertyInfo
instance AttrInfo BindingTargetPropertyPropertyInfo where
type AttrAllowedOps BindingTargetPropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint BindingTargetPropertyPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint BindingTargetPropertyPropertyInfo = IsBinding
type AttrGetType BindingTargetPropertyPropertyInfo = T.Text
type AttrLabel BindingTargetPropertyPropertyInfo = "target-property"
type AttrOrigin BindingTargetPropertyPropertyInfo = Binding
attrGet _ = getBindingTargetProperty
attrSet _ = undefined
attrConstruct _ = constructBindingTargetProperty
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList Binding
type instance O.AttributeList Binding = BindingAttributeList
type BindingAttributeList = ('[ '("flags", BindingFlagsPropertyInfo), '("source", BindingSourcePropertyInfo), '("sourceProperty", BindingSourcePropertyPropertyInfo), '("target", BindingTargetPropertyInfo), '("targetProperty", BindingTargetPropertyPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
bindingFlags :: AttrLabelProxy "flags"
bindingFlags = AttrLabelProxy
bindingSource :: AttrLabelProxy "source"
bindingSource = AttrLabelProxy
bindingSourceProperty :: AttrLabelProxy "sourceProperty"
bindingSourceProperty = AttrLabelProxy
bindingTarget :: AttrLabelProxy "target"
bindingTarget = AttrLabelProxy
bindingTargetProperty :: AttrLabelProxy "targetProperty"
bindingTargetProperty = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList Binding = BindingSignalList
type BindingSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_binding_get_flags" g_binding_get_flags ::
Ptr Binding ->
IO CUInt
bindingGetFlags ::
(B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
a
-> m [GObject.Flags.BindingFlags]
bindingGetFlags :: a -> m [BindingFlags]
bindingGetFlags binding :: a
binding = IO [BindingFlags] -> m [BindingFlags]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [BindingFlags] -> m [BindingFlags])
-> IO [BindingFlags] -> m [BindingFlags]
forall a b. (a -> b) -> a -> b
$ do
Ptr Binding
binding' <- a -> IO (Ptr Binding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
CUInt
result <- Ptr Binding -> IO CUInt
g_binding_get_flags Ptr Binding
binding'
let result' :: [BindingFlags]
result' = CUInt -> [BindingFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
[BindingFlags] -> IO [BindingFlags]
forall (m :: * -> *) a. Monad m => a -> m a
return [BindingFlags]
result'
#if ENABLE_OVERLOADING
data BindingGetFlagsMethodInfo
instance (signature ~ (m [GObject.Flags.BindingFlags]), MonadIO m, IsBinding a) => O.MethodInfo BindingGetFlagsMethodInfo a signature where
overloadedMethod _ = bindingGetFlags
#endif
foreign import ccall "g_binding_get_source" g_binding_get_source ::
Ptr Binding ->
IO (Ptr GObject.Object.Object)
bindingGetSource ::
(B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
a
-> m GObject.Object.Object
bindingGetSource :: a -> m Object
bindingGetSource binding :: a
binding = IO Object -> m Object
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ do
Ptr Binding
binding' <- a -> IO (Ptr Binding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
Ptr Object
result <- Ptr Binding -> IO (Ptr Object)
g_binding_get_source Ptr Binding
binding'
Text -> Ptr Object -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "bindingGetSource" Ptr Object
result
Object
result' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
Object -> IO Object
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if ENABLE_OVERLOADING
data BindingGetSourceMethodInfo
instance (signature ~ (m GObject.Object.Object), MonadIO m, IsBinding a) => O.MethodInfo BindingGetSourceMethodInfo a signature where
overloadedMethod _ = bindingGetSource
#endif
foreign import ccall "g_binding_get_source_property" g_binding_get_source_property ::
Ptr Binding ->
IO CString
bindingGetSourceProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
a
-> m T.Text
bindingGetSourceProperty :: a -> m Text
bindingGetSourceProperty binding :: a
binding = 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 Binding
binding' <- a -> IO (Ptr Binding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
CString
result <- Ptr Binding -> IO CString
g_binding_get_source_property Ptr Binding
binding'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "bindingGetSourceProperty" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if ENABLE_OVERLOADING
data BindingGetSourcePropertyMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsBinding a) => O.MethodInfo BindingGetSourcePropertyMethodInfo a signature where
overloadedMethod _ = bindingGetSourceProperty
#endif
foreign import ccall "g_binding_get_target" g_binding_get_target ::
Ptr Binding ->
IO (Ptr GObject.Object.Object)
bindingGetTarget ::
(B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
a
-> m GObject.Object.Object
bindingGetTarget :: a -> m Object
bindingGetTarget binding :: a
binding = IO Object -> m Object
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ do
Ptr Binding
binding' <- a -> IO (Ptr Binding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
Ptr Object
result <- Ptr Binding -> IO (Ptr Object)
g_binding_get_target Ptr Binding
binding'
Text -> Ptr Object -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "bindingGetTarget" Ptr Object
result
Object
result' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
Object -> IO Object
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if ENABLE_OVERLOADING
data BindingGetTargetMethodInfo
instance (signature ~ (m GObject.Object.Object), MonadIO m, IsBinding a) => O.MethodInfo BindingGetTargetMethodInfo a signature where
overloadedMethod _ = bindingGetTarget
#endif
foreign import ccall "g_binding_get_target_property" g_binding_get_target_property ::
Ptr Binding ->
IO CString
bindingGetTargetProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
a
-> m T.Text
bindingGetTargetProperty :: a -> m Text
bindingGetTargetProperty binding :: a
binding = 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 Binding
binding' <- a -> IO (Ptr Binding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
CString
result <- Ptr Binding -> IO CString
g_binding_get_target_property Ptr Binding
binding'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "bindingGetTargetProperty" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if ENABLE_OVERLOADING
data BindingGetTargetPropertyMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsBinding a) => O.MethodInfo BindingGetTargetPropertyMethodInfo a signature where
overloadedMethod _ = bindingGetTargetProperty
#endif
foreign import ccall "g_binding_unbind" g_binding_unbind ::
Ptr Binding ->
IO ()
bindingUnbind ::
(B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
a
-> m ()
bindingUnbind :: a -> m ()
bindingUnbind binding :: a
binding = 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 Binding
binding' <- a -> IO (Ptr Binding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
Ptr Binding -> IO ()
g_binding_unbind Ptr Binding
binding'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if ENABLE_OVERLOADING
data BindingUnbindMethodInfo
instance (signature ~ (m ()), MonadIO m, IsBinding a) => O.MethodInfo BindingUnbindMethodInfo a signature where
overloadedMethod _ = bindingUnbind
#endif