#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstVideo.Structs.VideoTimeCodeMeta
(
VideoTimeCodeMeta(..) ,
newZeroVideoTimeCodeMeta ,
noVideoTimeCodeMeta ,
videoTimeCodeMetaGetInfo ,
getVideoTimeCodeMetaMeta ,
#if ENABLE_OVERLOADING
videoTimeCodeMeta_meta ,
#endif
getVideoTimeCodeMetaTc ,
#if ENABLE_OVERLOADING
videoTimeCodeMeta_tc ,
#endif
) 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.Gst.Structs.Meta as Gst.Meta
import qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo
import {-# SOURCE #-} qualified GI.GstVideo.Structs.VideoTimeCode as GstVideo.VideoTimeCode
newtype VideoTimeCodeMeta = VideoTimeCodeMeta (ManagedPtr VideoTimeCodeMeta)
instance WrappedPtr VideoTimeCodeMeta where
wrappedPtrCalloc = callocBytes 64
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr VideoTimeCodeMeta)
wrappedPtrFree = Just ptr_to_g_free
newZeroVideoTimeCodeMeta :: MonadIO m => m VideoTimeCodeMeta
newZeroVideoTimeCodeMeta = liftIO $ wrappedPtrCalloc >>= wrapPtr VideoTimeCodeMeta
instance tag ~ 'AttrSet => Constructible VideoTimeCodeMeta tag where
new _ attrs = do
o <- newZeroVideoTimeCodeMeta
GI.Attributes.set o attrs
return o
noVideoTimeCodeMeta :: Maybe VideoTimeCodeMeta
noVideoTimeCodeMeta = Nothing
getVideoTimeCodeMetaMeta :: MonadIO m => VideoTimeCodeMeta -> m Gst.Meta.Meta
getVideoTimeCodeMetaMeta s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 0 :: (Ptr Gst.Meta.Meta)
val' <- (newPtr Gst.Meta.Meta) val
return val'
#if ENABLE_OVERLOADING
data VideoTimeCodeMetaMetaFieldInfo
instance AttrInfo VideoTimeCodeMetaMetaFieldInfo where
type AttrAllowedOps VideoTimeCodeMetaMetaFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint VideoTimeCodeMetaMetaFieldInfo = (~) (Ptr Gst.Meta.Meta)
type AttrBaseTypeConstraint VideoTimeCodeMetaMetaFieldInfo = (~) VideoTimeCodeMeta
type AttrGetType VideoTimeCodeMetaMetaFieldInfo = Gst.Meta.Meta
type AttrLabel VideoTimeCodeMetaMetaFieldInfo = "meta"
type AttrOrigin VideoTimeCodeMetaMetaFieldInfo = VideoTimeCodeMeta
attrGet _ = getVideoTimeCodeMetaMeta
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
videoTimeCodeMeta_meta :: AttrLabelProxy "meta"
videoTimeCodeMeta_meta = AttrLabelProxy
#endif
getVideoTimeCodeMetaTc :: MonadIO m => VideoTimeCodeMeta -> m GstVideo.VideoTimeCode.VideoTimeCode
getVideoTimeCodeMetaTc s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 16 :: (Ptr GstVideo.VideoTimeCode.VideoTimeCode)
val' <- (newBoxed GstVideo.VideoTimeCode.VideoTimeCode) val
return val'
#if ENABLE_OVERLOADING
data VideoTimeCodeMetaTcFieldInfo
instance AttrInfo VideoTimeCodeMetaTcFieldInfo where
type AttrAllowedOps VideoTimeCodeMetaTcFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint VideoTimeCodeMetaTcFieldInfo = (~) (Ptr GstVideo.VideoTimeCode.VideoTimeCode)
type AttrBaseTypeConstraint VideoTimeCodeMetaTcFieldInfo = (~) VideoTimeCodeMeta
type AttrGetType VideoTimeCodeMetaTcFieldInfo = GstVideo.VideoTimeCode.VideoTimeCode
type AttrLabel VideoTimeCodeMetaTcFieldInfo = "tc"
type AttrOrigin VideoTimeCodeMetaTcFieldInfo = VideoTimeCodeMeta
attrGet _ = getVideoTimeCodeMetaTc
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
videoTimeCodeMeta_tc :: AttrLabelProxy "tc"
videoTimeCodeMeta_tc = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList VideoTimeCodeMeta
type instance O.AttributeList VideoTimeCodeMeta = VideoTimeCodeMetaAttributeList
type VideoTimeCodeMetaAttributeList = ('[ '("meta", VideoTimeCodeMetaMetaFieldInfo), '("tc", VideoTimeCodeMetaTcFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_video_time_code_meta_get_info" gst_video_time_code_meta_get_info ::
IO (Ptr Gst.MetaInfo.MetaInfo)
videoTimeCodeMetaGetInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.MetaInfo.MetaInfo
videoTimeCodeMetaGetInfo = liftIO $ do
result <- gst_video_time_code_meta_get_info
checkUnexpectedReturnNULL "videoTimeCodeMetaGetInfo" result
result' <- (newPtr Gst.MetaInfo.MetaInfo) result
return result'
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type family ResolveVideoTimeCodeMetaMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoTimeCodeMetaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoTimeCodeMetaMethod t VideoTimeCodeMeta, O.MethodInfo info VideoTimeCodeMeta p) => OL.IsLabel t (VideoTimeCodeMeta -> 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