#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gst.Interfaces.ChildProxy
(
ChildProxy(..) ,
noChildProxy ,
IsChildProxy ,
toChildProxy ,
#if ENABLE_OVERLOADING
ChildProxyChildAddedMethodInfo ,
#endif
childProxyChildAdded ,
#if ENABLE_OVERLOADING
ChildProxyChildRemovedMethodInfo ,
#endif
childProxyChildRemoved ,
#if ENABLE_OVERLOADING
ChildProxyGetChildByIndexMethodInfo ,
#endif
childProxyGetChildByIndex ,
#if ENABLE_OVERLOADING
ChildProxyGetChildByNameMethodInfo ,
#endif
childProxyGetChildByName ,
#if ENABLE_OVERLOADING
ChildProxyGetChildrenCountMethodInfo ,
#endif
childProxyGetChildrenCount ,
#if ENABLE_OVERLOADING
ChildProxyGetPropertyMethodInfo ,
#endif
childProxyGetProperty ,
#if ENABLE_OVERLOADING
ChildProxyLookupMethodInfo ,
#endif
childProxyLookup ,
#if ENABLE_OVERLOADING
ChildProxySetPropertyMethodInfo ,
#endif
childProxySetProperty ,
C_ChildProxyChildAddedCallback ,
ChildProxyChildAddedCallback ,
#if ENABLE_OVERLOADING
ChildProxyChildAddedSignalInfo ,
#endif
afterChildProxyChildAdded ,
genClosure_ChildProxyChildAdded ,
mk_ChildProxyChildAddedCallback ,
noChildProxyChildAddedCallback ,
onChildProxyChildAdded ,
wrap_ChildProxyChildAddedCallback ,
C_ChildProxyChildRemovedCallback ,
ChildProxyChildRemovedCallback ,
#if ENABLE_OVERLOADING
ChildProxyChildRemovedSignalInfo ,
#endif
afterChildProxyChildRemoved ,
genClosure_ChildProxyChildRemoved ,
mk_ChildProxyChildRemovedCallback ,
noChildProxyChildRemovedCallback ,
onChildProxyChildRemoved ,
wrap_ChildProxyChildRemovedCallback ,
) 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.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.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.GObject.Objects.Object as GObject.Object
newtype ChildProxy = ChildProxy (ManagedPtr ChildProxy)
noChildProxy :: Maybe ChildProxy
noChildProxy = Nothing
type ChildProxyChildAddedCallback =
GObject.Object.Object
-> T.Text
-> IO ()
noChildProxyChildAddedCallback :: Maybe ChildProxyChildAddedCallback
noChildProxyChildAddedCallback = Nothing
type C_ChildProxyChildAddedCallback =
Ptr () ->
Ptr GObject.Object.Object ->
CString ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ChildProxyChildAddedCallback :: C_ChildProxyChildAddedCallback -> IO (FunPtr C_ChildProxyChildAddedCallback)
genClosure_ChildProxyChildAdded :: MonadIO m => ChildProxyChildAddedCallback -> m (GClosure C_ChildProxyChildAddedCallback)
genClosure_ChildProxyChildAdded cb = liftIO $ do
let cb' = wrap_ChildProxyChildAddedCallback cb
mk_ChildProxyChildAddedCallback cb' >>= B.GClosure.newGClosure
wrap_ChildProxyChildAddedCallback ::
ChildProxyChildAddedCallback ->
C_ChildProxyChildAddedCallback
wrap_ChildProxyChildAddedCallback _cb _ object name _ = do
object' <- (newObject GObject.Object.Object) object
name' <- cstringToText name
_cb object' name'
onChildProxyChildAdded :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId
onChildProxyChildAdded obj cb = liftIO $ do
let cb' = wrap_ChildProxyChildAddedCallback cb
cb'' <- mk_ChildProxyChildAddedCallback cb'
connectSignalFunPtr obj "child-added" cb'' SignalConnectBefore
afterChildProxyChildAdded :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId
afterChildProxyChildAdded obj cb = liftIO $ do
let cb' = wrap_ChildProxyChildAddedCallback cb
cb'' <- mk_ChildProxyChildAddedCallback cb'
connectSignalFunPtr obj "child-added" cb'' SignalConnectAfter
type ChildProxyChildRemovedCallback =
GObject.Object.Object
-> T.Text
-> IO ()
noChildProxyChildRemovedCallback :: Maybe ChildProxyChildRemovedCallback
noChildProxyChildRemovedCallback = Nothing
type C_ChildProxyChildRemovedCallback =
Ptr () ->
Ptr GObject.Object.Object ->
CString ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ChildProxyChildRemovedCallback :: C_ChildProxyChildRemovedCallback -> IO (FunPtr C_ChildProxyChildRemovedCallback)
genClosure_ChildProxyChildRemoved :: MonadIO m => ChildProxyChildRemovedCallback -> m (GClosure C_ChildProxyChildRemovedCallback)
genClosure_ChildProxyChildRemoved cb = liftIO $ do
let cb' = wrap_ChildProxyChildRemovedCallback cb
mk_ChildProxyChildRemovedCallback cb' >>= B.GClosure.newGClosure
wrap_ChildProxyChildRemovedCallback ::
ChildProxyChildRemovedCallback ->
C_ChildProxyChildRemovedCallback
wrap_ChildProxyChildRemovedCallback _cb _ object name _ = do
object' <- (newObject GObject.Object.Object) object
name' <- cstringToText name
_cb object' name'
onChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId
onChildProxyChildRemoved obj cb = liftIO $ do
let cb' = wrap_ChildProxyChildRemovedCallback cb
cb'' <- mk_ChildProxyChildRemovedCallback cb'
connectSignalFunPtr obj "child-removed" cb'' SignalConnectBefore
afterChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId
afterChildProxyChildRemoved obj cb = liftIO $ do
let cb' = wrap_ChildProxyChildRemovedCallback cb
cb'' <- mk_ChildProxyChildRemovedCallback cb'
connectSignalFunPtr obj "child-removed" cb'' SignalConnectAfter
#if ENABLE_OVERLOADING
data ChildProxyChildAddedSignalInfo
instance SignalInfo ChildProxyChildAddedSignalInfo where
type HaskellCallbackType ChildProxyChildAddedSignalInfo = ChildProxyChildAddedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_ChildProxyChildAddedCallback cb
cb'' <- mk_ChildProxyChildAddedCallback cb'
connectSignalFunPtr obj "child-added" cb'' connectMode
data ChildProxyChildRemovedSignalInfo
instance SignalInfo ChildProxyChildRemovedSignalInfo where
type HaskellCallbackType ChildProxyChildRemovedSignalInfo = ChildProxyChildRemovedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_ChildProxyChildRemovedCallback cb
cb'' <- mk_ChildProxyChildRemovedCallback cb'
connectSignalFunPtr obj "child-removed" cb'' connectMode
type instance O.SignalList ChildProxy = ChildProxySignalList
type ChildProxySignalList = ('[ '("childAdded", ChildProxyChildAddedSignalInfo), '("childRemoved", ChildProxyChildRemovedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_child_proxy_get_type"
c_gst_child_proxy_get_type :: IO GType
instance GObject ChildProxy where
gobjectType = c_gst_child_proxy_get_type
class (GObject o, O.IsDescendantOf ChildProxy o) => IsChildProxy o
instance (GObject o, O.IsDescendantOf ChildProxy o) => IsChildProxy o
instance O.HasParentTypes ChildProxy
type instance O.ParentTypes ChildProxy = '[GObject.Object.Object]
toChildProxy :: (MonadIO m, IsChildProxy o) => o -> m ChildProxy
toChildProxy = liftIO . unsafeCastTo ChildProxy
#if ENABLE_OVERLOADING
instance O.HasAttributeList ChildProxy
type instance O.AttributeList ChildProxy = ChildProxyAttributeList
type ChildProxyAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type family ResolveChildProxyMethod (t :: Symbol) (o :: *) :: * where
ResolveChildProxyMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveChildProxyMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveChildProxyMethod "childAdded" o = ChildProxyChildAddedMethodInfo
ResolveChildProxyMethod "childRemoved" o = ChildProxyChildRemovedMethodInfo
ResolveChildProxyMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveChildProxyMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveChildProxyMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveChildProxyMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveChildProxyMethod "lookup" o = ChildProxyLookupMethodInfo
ResolveChildProxyMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveChildProxyMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveChildProxyMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveChildProxyMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveChildProxyMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveChildProxyMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveChildProxyMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveChildProxyMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveChildProxyMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveChildProxyMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveChildProxyMethod "getChildByIndex" o = ChildProxyGetChildByIndexMethodInfo
ResolveChildProxyMethod "getChildByName" o = ChildProxyGetChildByNameMethodInfo
ResolveChildProxyMethod "getChildrenCount" o = ChildProxyGetChildrenCountMethodInfo
ResolveChildProxyMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveChildProxyMethod "getProperty" o = ChildProxyGetPropertyMethodInfo
ResolveChildProxyMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveChildProxyMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveChildProxyMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveChildProxyMethod "setProperty" o = ChildProxySetPropertyMethodInfo
ResolveChildProxyMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveChildProxyMethod t ChildProxy, O.MethodInfo info ChildProxy p) => OL.IsLabel t (ChildProxy -> 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
foreign import ccall "gst_child_proxy_child_added" gst_child_proxy_child_added ::
Ptr ChildProxy ->
Ptr GObject.Object.Object ->
CString ->
IO ()
childProxyChildAdded ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a, GObject.Object.IsObject b) =>
a
-> b
-> T.Text
-> m ()
childProxyChildAdded parent child name = liftIO $ do
parent' <- unsafeManagedPtrCastPtr parent
child' <- unsafeManagedPtrCastPtr child
name' <- textToCString name
gst_child_proxy_child_added parent' child' name'
touchManagedPtr parent
touchManagedPtr child
freeMem name'
return ()
#if ENABLE_OVERLOADING
data ChildProxyChildAddedMethodInfo
instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsChildProxy a, GObject.Object.IsObject b) => O.MethodInfo ChildProxyChildAddedMethodInfo a signature where
overloadedMethod _ = childProxyChildAdded
#endif
foreign import ccall "gst_child_proxy_child_removed" gst_child_proxy_child_removed ::
Ptr ChildProxy ->
Ptr GObject.Object.Object ->
CString ->
IO ()
childProxyChildRemoved ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a, GObject.Object.IsObject b) =>
a
-> b
-> T.Text
-> m ()
childProxyChildRemoved parent child name = liftIO $ do
parent' <- unsafeManagedPtrCastPtr parent
child' <- unsafeManagedPtrCastPtr child
name' <- textToCString name
gst_child_proxy_child_removed parent' child' name'
touchManagedPtr parent
touchManagedPtr child
freeMem name'
return ()
#if ENABLE_OVERLOADING
data ChildProxyChildRemovedMethodInfo
instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsChildProxy a, GObject.Object.IsObject b) => O.MethodInfo ChildProxyChildRemovedMethodInfo a signature where
overloadedMethod _ = childProxyChildRemoved
#endif
foreign import ccall "gst_child_proxy_get_child_by_index" gst_child_proxy_get_child_by_index ::
Ptr ChildProxy ->
Word32 ->
IO (Ptr GObject.Object.Object)
childProxyGetChildByIndex ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>
a
-> Word32
-> m (Maybe GObject.Object.Object)
childProxyGetChildByIndex parent index = liftIO $ do
parent' <- unsafeManagedPtrCastPtr parent
result <- gst_child_proxy_get_child_by_index parent' index
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject GObject.Object.Object) result'
return result''
touchManagedPtr parent
return maybeResult
#if ENABLE_OVERLOADING
data ChildProxyGetChildByIndexMethodInfo
instance (signature ~ (Word32 -> m (Maybe GObject.Object.Object)), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetChildByIndexMethodInfo a signature where
overloadedMethod _ = childProxyGetChildByIndex
#endif
foreign import ccall "gst_child_proxy_get_child_by_name" gst_child_proxy_get_child_by_name ::
Ptr ChildProxy ->
CString ->
IO (Ptr GObject.Object.Object)
childProxyGetChildByName ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>
a
-> T.Text
-> m (Maybe GObject.Object.Object)
childProxyGetChildByName parent name = liftIO $ do
parent' <- unsafeManagedPtrCastPtr parent
name' <- textToCString name
result <- gst_child_proxy_get_child_by_name parent' name'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject GObject.Object.Object) result'
return result''
touchManagedPtr parent
freeMem name'
return maybeResult
#if ENABLE_OVERLOADING
data ChildProxyGetChildByNameMethodInfo
instance (signature ~ (T.Text -> m (Maybe GObject.Object.Object)), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetChildByNameMethodInfo a signature where
overloadedMethod _ = childProxyGetChildByName
#endif
foreign import ccall "gst_child_proxy_get_children_count" gst_child_proxy_get_children_count ::
Ptr ChildProxy ->
IO Word32
childProxyGetChildrenCount ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>
a
-> m Word32
childProxyGetChildrenCount parent = liftIO $ do
parent' <- unsafeManagedPtrCastPtr parent
result <- gst_child_proxy_get_children_count parent'
touchManagedPtr parent
return result
#if ENABLE_OVERLOADING
data ChildProxyGetChildrenCountMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetChildrenCountMethodInfo a signature where
overloadedMethod _ = childProxyGetChildrenCount
#endif
foreign import ccall "gst_child_proxy_get_property" gst_child_proxy_get_property ::
Ptr ChildProxy ->
CString ->
Ptr GValue ->
IO ()
childProxyGetProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>
a
-> T.Text
-> m (GValue)
childProxyGetProperty object name = liftIO $ do
object' <- unsafeManagedPtrCastPtr object
name' <- textToCString name
value <- callocBoxedBytes 24 :: IO (Ptr GValue)
gst_child_proxy_get_property object' name' value
value' <- (wrapBoxed GValue) value
touchManagedPtr object
freeMem name'
return value'
#if ENABLE_OVERLOADING
data ChildProxyGetPropertyMethodInfo
instance (signature ~ (T.Text -> m (GValue)), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetPropertyMethodInfo a signature where
overloadedMethod _ = childProxyGetProperty
#endif
foreign import ccall "gst_child_proxy_lookup" gst_child_proxy_lookup ::
Ptr ChildProxy ->
CString ->
Ptr (Ptr GObject.Object.Object) ->
Ptr (Ptr GParamSpec) ->
IO CInt
childProxyLookup ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>
a
-> T.Text
-> m ((Bool, GObject.Object.Object, GParamSpec))
childProxyLookup object name = liftIO $ do
object' <- unsafeManagedPtrCastPtr object
name' <- textToCString name
target <- allocMem :: IO (Ptr (Ptr GObject.Object.Object))
pspec <- allocMem :: IO (Ptr (Ptr GParamSpec))
result <- gst_child_proxy_lookup object' name' target pspec
let result' = (/= 0) result
target' <- peek target
target'' <- (wrapObject GObject.Object.Object) target'
pspec' <- peek pspec
pspec'' <- B.GParamSpec.newGParamSpecFromPtr pspec'
touchManagedPtr object
freeMem name'
freeMem target
freeMem pspec
return (result', target'', pspec'')
#if ENABLE_OVERLOADING
data ChildProxyLookupMethodInfo
instance (signature ~ (T.Text -> m ((Bool, GObject.Object.Object, GParamSpec))), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyLookupMethodInfo a signature where
overloadedMethod _ = childProxyLookup
#endif
foreign import ccall "gst_child_proxy_set_property" gst_child_proxy_set_property ::
Ptr ChildProxy ->
CString ->
Ptr GValue ->
IO ()
childProxySetProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>
a
-> T.Text
-> GValue
-> m ()
childProxySetProperty object name value = liftIO $ do
object' <- unsafeManagedPtrCastPtr object
name' <- textToCString name
value' <- unsafeManagedPtrGetPtr value
gst_child_proxy_set_property object' name' value'
touchManagedPtr object
touchManagedPtr value
freeMem name'
return ()
#if ENABLE_OVERLOADING
data ChildProxySetPropertyMethodInfo
instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxySetPropertyMethodInfo a signature where
overloadedMethod _ = childProxySetProperty
#endif