{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.SourceClipAsset
(
SourceClipAsset(..) ,
IsSourceClipAsset ,
toSourceClipAsset ,
#if defined(ENABLE_OVERLOADING)
ResolveSourceClipAssetMethod ,
#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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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.Coerce as Coerce
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 GHC.Records as R
import {-# SOURCE #-} qualified GI.GES.Interfaces.MetaContainer as GES.MetaContainer
import {-# SOURCE #-} qualified GI.GES.Objects.Asset as GES.Asset
import {-# SOURCE #-} qualified GI.GES.Objects.ClipAsset as GES.ClipAsset
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Interfaces.AsyncInitable as Gio.AsyncInitable
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
newtype SourceClipAsset = SourceClipAsset (SP.ManagedPtr SourceClipAsset)
deriving (SourceClipAsset -> SourceClipAsset -> Bool
(SourceClipAsset -> SourceClipAsset -> Bool)
-> (SourceClipAsset -> SourceClipAsset -> Bool)
-> Eq SourceClipAsset
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SourceClipAsset -> SourceClipAsset -> Bool
== :: SourceClipAsset -> SourceClipAsset -> Bool
$c/= :: SourceClipAsset -> SourceClipAsset -> Bool
/= :: SourceClipAsset -> SourceClipAsset -> Bool
Eq)
instance SP.ManagedPtrNewtype SourceClipAsset where
toManagedPtr :: SourceClipAsset -> ManagedPtr SourceClipAsset
toManagedPtr (SourceClipAsset ManagedPtr SourceClipAsset
p) = ManagedPtr SourceClipAsset
p
foreign import ccall "ges_source_clip_asset_get_type"
c_ges_source_clip_asset_get_type :: IO B.Types.GType
instance B.Types.TypedObject SourceClipAsset where
glibType :: IO GType
glibType = IO GType
c_ges_source_clip_asset_get_type
instance B.Types.GObject SourceClipAsset
class (SP.GObject o, O.IsDescendantOf SourceClipAsset o) => IsSourceClipAsset o
instance (SP.GObject o, O.IsDescendantOf SourceClipAsset o) => IsSourceClipAsset o
instance O.HasParentTypes SourceClipAsset
type instance O.ParentTypes SourceClipAsset = '[GES.ClipAsset.ClipAsset, GES.Asset.Asset, GObject.Object.Object, GES.MetaContainer.MetaContainer, Gio.AsyncInitable.AsyncInitable, Gio.Initable.Initable]
toSourceClipAsset :: (MIO.MonadIO m, IsSourceClipAsset o) => o -> m SourceClipAsset
toSourceClipAsset :: forall (m :: * -> *) o.
(MonadIO m, IsSourceClipAsset o) =>
o -> m SourceClipAsset
toSourceClipAsset = IO SourceClipAsset -> m SourceClipAsset
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO SourceClipAsset -> m SourceClipAsset)
-> (o -> IO SourceClipAsset) -> o -> m SourceClipAsset
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr SourceClipAsset -> SourceClipAsset)
-> o -> IO SourceClipAsset
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr SourceClipAsset -> SourceClipAsset
SourceClipAsset
instance B.GValue.IsGValue (Maybe SourceClipAsset) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_source_clip_asset_get_type
gvalueSet_ :: Ptr GValue -> Maybe SourceClipAsset -> IO ()
gvalueSet_ Ptr GValue
gv Maybe SourceClipAsset
P.Nothing = Ptr GValue -> Ptr SourceClipAsset -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr SourceClipAsset
forall a. Ptr a
FP.nullPtr :: FP.Ptr SourceClipAsset)
gvalueSet_ Ptr GValue
gv (P.Just SourceClipAsset
obj) = SourceClipAsset -> (Ptr SourceClipAsset -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr SourceClipAsset
obj (Ptr GValue -> Ptr SourceClipAsset -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe SourceClipAsset)
gvalueGet_ Ptr GValue
gv = do
Ptr SourceClipAsset
ptr <- Ptr GValue -> IO (Ptr SourceClipAsset)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr SourceClipAsset)
if Ptr SourceClipAsset
ptr Ptr SourceClipAsset -> Ptr SourceClipAsset -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr SourceClipAsset
forall a. Ptr a
FP.nullPtr
then SourceClipAsset -> Maybe SourceClipAsset
forall a. a -> Maybe a
P.Just (SourceClipAsset -> Maybe SourceClipAsset)
-> IO SourceClipAsset -> IO (Maybe SourceClipAsset)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr SourceClipAsset -> SourceClipAsset)
-> Ptr SourceClipAsset -> IO SourceClipAsset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr SourceClipAsset -> SourceClipAsset
SourceClipAsset Ptr SourceClipAsset
ptr
else Maybe SourceClipAsset -> IO (Maybe SourceClipAsset)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe SourceClipAsset
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveSourceClipAssetMethod (t :: Symbol) (o :: *) :: * where
ResolveSourceClipAssetMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveSourceClipAssetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveSourceClipAssetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveSourceClipAssetMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveSourceClipAssetMethod "extract" o = GES.Asset.AssetExtractMethodInfo
ResolveSourceClipAssetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveSourceClipAssetMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveSourceClipAssetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveSourceClipAssetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveSourceClipAssetMethod "init" o = Gio.Initable.InitableInitMethodInfo
ResolveSourceClipAssetMethod "initAsync" o = Gio.AsyncInitable.AsyncInitableInitAsyncMethodInfo
ResolveSourceClipAssetMethod "initFinish" o = Gio.AsyncInitable.AsyncInitableInitFinishMethodInfo
ResolveSourceClipAssetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveSourceClipAssetMethod "listProxies" o = GES.Asset.AssetListProxiesMethodInfo
ResolveSourceClipAssetMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveSourceClipAssetMethod "newFinish" o = Gio.AsyncInitable.AsyncInitableNewFinishMethodInfo
ResolveSourceClipAssetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveSourceClipAssetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveSourceClipAssetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveSourceClipAssetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveSourceClipAssetMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveSourceClipAssetMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveSourceClipAssetMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveSourceClipAssetMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveSourceClipAssetMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveSourceClipAssetMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveSourceClipAssetMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveSourceClipAssetMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveSourceClipAssetMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveSourceClipAssetMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveSourceClipAssetMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveSourceClipAssetMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveSourceClipAssetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveSourceClipAssetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveSourceClipAssetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveSourceClipAssetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveSourceClipAssetMethod "unproxy" o = GES.Asset.AssetUnproxyMethodInfo
ResolveSourceClipAssetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveSourceClipAssetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveSourceClipAssetMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveSourceClipAssetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveSourceClipAssetMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveSourceClipAssetMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveSourceClipAssetMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveSourceClipAssetMethod "getError" o = GES.Asset.AssetGetErrorMethodInfo
ResolveSourceClipAssetMethod "getExtractableType" o = GES.Asset.AssetGetExtractableTypeMethodInfo
ResolveSourceClipAssetMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveSourceClipAssetMethod "getFrameTime" o = GES.ClipAsset.ClipAssetGetFrameTimeMethodInfo
ResolveSourceClipAssetMethod "getId" o = GES.Asset.AssetGetIdMethodInfo
ResolveSourceClipAssetMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveSourceClipAssetMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveSourceClipAssetMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveSourceClipAssetMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveSourceClipAssetMethod "getNaturalFramerate" o = GES.ClipAsset.ClipAssetGetNaturalFramerateMethodInfo
ResolveSourceClipAssetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveSourceClipAssetMethod "getProxy" o = GES.Asset.AssetGetProxyMethodInfo
ResolveSourceClipAssetMethod "getProxyTarget" o = GES.Asset.AssetGetProxyTargetMethodInfo
ResolveSourceClipAssetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveSourceClipAssetMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveSourceClipAssetMethod "getSupportedFormats" o = GES.ClipAsset.ClipAssetGetSupportedFormatsMethodInfo
ResolveSourceClipAssetMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveSourceClipAssetMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveSourceClipAssetMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveSourceClipAssetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveSourceClipAssetMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveSourceClipAssetMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveSourceClipAssetMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveSourceClipAssetMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveSourceClipAssetMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveSourceClipAssetMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveSourceClipAssetMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveSourceClipAssetMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveSourceClipAssetMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveSourceClipAssetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveSourceClipAssetMethod "setProxy" o = GES.Asset.AssetSetProxyMethodInfo
ResolveSourceClipAssetMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveSourceClipAssetMethod "setSupportedFormats" o = GES.ClipAsset.ClipAssetSetSupportedFormatsMethodInfo
ResolveSourceClipAssetMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveSourceClipAssetMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveSourceClipAssetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSourceClipAssetMethod t SourceClipAsset, O.OverloadedMethod info SourceClipAsset p) => OL.IsLabel t (SourceClipAsset -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveSourceClipAssetMethod t SourceClipAsset, O.OverloadedMethod info SourceClipAsset p, R.HasField t SourceClipAsset p) => R.HasField t SourceClipAsset p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveSourceClipAssetMethod t SourceClipAsset, O.OverloadedMethodInfo info SourceClipAsset) => OL.IsLabel t (O.MethodProxy info SourceClipAsset) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SourceClipAsset
type instance O.AttributeList SourceClipAsset = SourceClipAssetAttributeList
type SourceClipAssetAttributeList = ('[ '("extractableType", GES.Asset.AssetExtractableTypePropertyInfo), '("id", GES.Asset.AssetIdPropertyInfo), '("proxy", GES.Asset.AssetProxyPropertyInfo), '("proxyTarget", GES.Asset.AssetProxyTargetPropertyInfo), '("supportedFormats", GES.ClipAsset.ClipAssetSupportedFormatsPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList SourceClipAsset = SourceClipAssetSignalList
type SourceClipAssetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, *)])
#endif