{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.MultiFileSource
(
MultiFileSource(..) ,
IsMultiFileSource ,
toMultiFileSource ,
#if defined(ENABLE_OVERLOADING)
ResolveMultiFileSourceMethod ,
#endif
multiFileSourceNew ,
#if defined(ENABLE_OVERLOADING)
MultiFileSourceUriPropertyInfo ,
#endif
constructMultiFileSourceUri ,
getMultiFileSourceUri ,
#if defined(ENABLE_OVERLOADING)
multiFileSourceUri ,
#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.Kind as DK
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.Extractable as GES.Extractable
import {-# SOURCE #-} qualified GI.GES.Interfaces.MetaContainer as GES.MetaContainer
import {-# SOURCE #-} qualified GI.GES.Objects.Source as GES.Source
import {-# SOURCE #-} qualified GI.GES.Objects.TimelineElement as GES.TimelineElement
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import {-# SOURCE #-} qualified GI.GES.Objects.VideoSource as GES.VideoSource
import qualified GI.GObject.Objects.Object as GObject.Object
newtype MultiFileSource = MultiFileSource (SP.ManagedPtr MultiFileSource)
deriving (MultiFileSource -> MultiFileSource -> Bool
(MultiFileSource -> MultiFileSource -> Bool)
-> (MultiFileSource -> MultiFileSource -> Bool)
-> Eq MultiFileSource
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MultiFileSource -> MultiFileSource -> Bool
== :: MultiFileSource -> MultiFileSource -> Bool
$c/= :: MultiFileSource -> MultiFileSource -> Bool
/= :: MultiFileSource -> MultiFileSource -> Bool
Eq)
instance SP.ManagedPtrNewtype MultiFileSource where
toManagedPtr :: MultiFileSource -> ManagedPtr MultiFileSource
toManagedPtr (MultiFileSource ManagedPtr MultiFileSource
p) = ManagedPtr MultiFileSource
p
foreign import ccall "ges_multi_file_source_get_type"
c_ges_multi_file_source_get_type :: IO B.Types.GType
instance B.Types.TypedObject MultiFileSource where
glibType :: IO GType
glibType = IO GType
c_ges_multi_file_source_get_type
instance B.Types.GObject MultiFileSource
class (SP.GObject o, O.IsDescendantOf MultiFileSource o) => IsMultiFileSource o
instance (SP.GObject o, O.IsDescendantOf MultiFileSource o) => IsMultiFileSource o
instance O.HasParentTypes MultiFileSource
type instance O.ParentTypes MultiFileSource = '[GES.VideoSource.VideoSource, GES.Source.Source, GES.TrackElement.TrackElement, GES.TimelineElement.TimelineElement, GObject.Object.Object, GES.Extractable.Extractable, GES.MetaContainer.MetaContainer]
toMultiFileSource :: (MIO.MonadIO m, IsMultiFileSource o) => o -> m MultiFileSource
toMultiFileSource :: forall (m :: * -> *) o.
(MonadIO m, IsMultiFileSource o) =>
o -> m MultiFileSource
toMultiFileSource = IO MultiFileSource -> m MultiFileSource
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO MultiFileSource -> m MultiFileSource)
-> (o -> IO MultiFileSource) -> o -> m MultiFileSource
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr MultiFileSource -> MultiFileSource)
-> o -> IO MultiFileSource
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr MultiFileSource -> MultiFileSource
MultiFileSource
instance B.GValue.IsGValue (Maybe MultiFileSource) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_multi_file_source_get_type
gvalueSet_ :: Ptr GValue -> Maybe MultiFileSource -> IO ()
gvalueSet_ Ptr GValue
gv Maybe MultiFileSource
P.Nothing = Ptr GValue -> Ptr MultiFileSource -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr MultiFileSource
forall a. Ptr a
FP.nullPtr :: FP.Ptr MultiFileSource)
gvalueSet_ Ptr GValue
gv (P.Just MultiFileSource
obj) = MultiFileSource -> (Ptr MultiFileSource -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr MultiFileSource
obj (Ptr GValue -> Ptr MultiFileSource -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe MultiFileSource)
gvalueGet_ Ptr GValue
gv = do
Ptr MultiFileSource
ptr <- Ptr GValue -> IO (Ptr MultiFileSource)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr MultiFileSource)
if Ptr MultiFileSource
ptr Ptr MultiFileSource -> Ptr MultiFileSource -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr MultiFileSource
forall a. Ptr a
FP.nullPtr
then MultiFileSource -> Maybe MultiFileSource
forall a. a -> Maybe a
P.Just (MultiFileSource -> Maybe MultiFileSource)
-> IO MultiFileSource -> IO (Maybe MultiFileSource)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr MultiFileSource -> MultiFileSource)
-> Ptr MultiFileSource -> IO MultiFileSource
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr MultiFileSource -> MultiFileSource
MultiFileSource Ptr MultiFileSource
ptr
else Maybe MultiFileSource -> IO (Maybe MultiFileSource)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe MultiFileSource
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveMultiFileSourceMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveMultiFileSourceMethod "addChildProperty" o = GES.TimelineElement.TimelineElementAddChildPropertyMethodInfo
ResolveMultiFileSourceMethod "addChildrenProps" o = GES.TrackElement.TrackElementAddChildrenPropsMethodInfo
ResolveMultiFileSourceMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveMultiFileSourceMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveMultiFileSourceMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveMultiFileSourceMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveMultiFileSourceMethod "clampControlSource" o = GES.TrackElement.TrackElementClampControlSourceMethodInfo
ResolveMultiFileSourceMethod "copy" o = GES.TimelineElement.TimelineElementCopyMethodInfo
ResolveMultiFileSourceMethod "edit" o = GES.TrackElement.TrackElementEditMethodInfo
ResolveMultiFileSourceMethod "editFull" o = GES.TimelineElement.TimelineElementEditFullMethodInfo
ResolveMultiFileSourceMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveMultiFileSourceMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveMultiFileSourceMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveMultiFileSourceMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveMultiFileSourceMethod "hasInternalSource" o = GES.TrackElement.TrackElementHasInternalSourceMethodInfo
ResolveMultiFileSourceMethod "isActive" o = GES.TrackElement.TrackElementIsActiveMethodInfo
ResolveMultiFileSourceMethod "isCore" o = GES.TrackElement.TrackElementIsCoreMethodInfo
ResolveMultiFileSourceMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveMultiFileSourceMethod "listChildrenProperties" o = GES.TrackElement.TrackElementListChildrenPropertiesMethodInfo
ResolveMultiFileSourceMethod "lookupChild" o = GES.TrackElement.TrackElementLookupChildMethodInfo
ResolveMultiFileSourceMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveMultiFileSourceMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveMultiFileSourceMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveMultiFileSourceMethod "paste" o = GES.TimelineElement.TimelineElementPasteMethodInfo
ResolveMultiFileSourceMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveMultiFileSourceMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveMultiFileSourceMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveMultiFileSourceMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveMultiFileSourceMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveMultiFileSourceMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveMultiFileSourceMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveMultiFileSourceMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveMultiFileSourceMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveMultiFileSourceMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveMultiFileSourceMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveMultiFileSourceMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveMultiFileSourceMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveMultiFileSourceMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveMultiFileSourceMethod "removeChildProperty" o = GES.TimelineElement.TimelineElementRemoveChildPropertyMethodInfo
ResolveMultiFileSourceMethod "removeControlBinding" o = GES.TrackElement.TrackElementRemoveControlBindingMethodInfo
ResolveMultiFileSourceMethod "ripple" o = GES.TimelineElement.TimelineElementRippleMethodInfo
ResolveMultiFileSourceMethod "rippleEnd" o = GES.TimelineElement.TimelineElementRippleEndMethodInfo
ResolveMultiFileSourceMethod "rollEnd" o = GES.TimelineElement.TimelineElementRollEndMethodInfo
ResolveMultiFileSourceMethod "rollStart" o = GES.TimelineElement.TimelineElementRollStartMethodInfo
ResolveMultiFileSourceMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveMultiFileSourceMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveMultiFileSourceMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveMultiFileSourceMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveMultiFileSourceMethod "trim" o = GES.TimelineElement.TimelineElementTrimMethodInfo
ResolveMultiFileSourceMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveMultiFileSourceMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveMultiFileSourceMethod "getAllControlBindings" o = GES.TrackElement.TrackElementGetAllControlBindingsMethodInfo
ResolveMultiFileSourceMethod "getAsset" o = GES.Extractable.ExtractableGetAssetMethodInfo
ResolveMultiFileSourceMethod "getAutoClampControlSources" o = GES.TrackElement.TrackElementGetAutoClampControlSourcesMethodInfo
ResolveMultiFileSourceMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveMultiFileSourceMethod "getChildProperty" o = GES.TimelineElement.TimelineElementGetChildPropertyMethodInfo
ResolveMultiFileSourceMethod "getChildPropertyByPspec" o = GES.TimelineElement.TimelineElementGetChildPropertyByPspecMethodInfo
ResolveMultiFileSourceMethod "getControlBinding" o = GES.TrackElement.TrackElementGetControlBindingMethodInfo
ResolveMultiFileSourceMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveMultiFileSourceMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveMultiFileSourceMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveMultiFileSourceMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveMultiFileSourceMethod "getDuration" o = GES.TimelineElement.TimelineElementGetDurationMethodInfo
ResolveMultiFileSourceMethod "getElement" o = GES.TrackElement.TrackElementGetElementMethodInfo
ResolveMultiFileSourceMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveMultiFileSourceMethod "getGnlobject" o = GES.TrackElement.TrackElementGetGnlobjectMethodInfo
ResolveMultiFileSourceMethod "getId" o = GES.Extractable.ExtractableGetIdMethodInfo
ResolveMultiFileSourceMethod "getInpoint" o = GES.TimelineElement.TimelineElementGetInpointMethodInfo
ResolveMultiFileSourceMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveMultiFileSourceMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveMultiFileSourceMethod "getLayerPriority" o = GES.TimelineElement.TimelineElementGetLayerPriorityMethodInfo
ResolveMultiFileSourceMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveMultiFileSourceMethod "getMaxDuration" o = GES.TimelineElement.TimelineElementGetMaxDurationMethodInfo
ResolveMultiFileSourceMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveMultiFileSourceMethod "getName" o = GES.TimelineElement.TimelineElementGetNameMethodInfo
ResolveMultiFileSourceMethod "getNaturalFramerate" o = GES.TimelineElement.TimelineElementGetNaturalFramerateMethodInfo
ResolveMultiFileSourceMethod "getNaturalSize" o = GES.VideoSource.VideoSourceGetNaturalSizeMethodInfo
ResolveMultiFileSourceMethod "getNleobject" o = GES.TrackElement.TrackElementGetNleobjectMethodInfo
ResolveMultiFileSourceMethod "getParent" o = GES.TimelineElement.TimelineElementGetParentMethodInfo
ResolveMultiFileSourceMethod "getPriority" o = GES.TimelineElement.TimelineElementGetPriorityMethodInfo
ResolveMultiFileSourceMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveMultiFileSourceMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveMultiFileSourceMethod "getStart" o = GES.TimelineElement.TimelineElementGetStartMethodInfo
ResolveMultiFileSourceMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveMultiFileSourceMethod "getTimeline" o = GES.TimelineElement.TimelineElementGetTimelineMethodInfo
ResolveMultiFileSourceMethod "getToplevelParent" o = GES.TimelineElement.TimelineElementGetToplevelParentMethodInfo
ResolveMultiFileSourceMethod "getTrack" o = GES.TrackElement.TrackElementGetTrackMethodInfo
ResolveMultiFileSourceMethod "getTrackType" o = GES.TrackElement.TrackElementGetTrackTypeMethodInfo
ResolveMultiFileSourceMethod "getTrackTypes" o = GES.TimelineElement.TimelineElementGetTrackTypesMethodInfo
ResolveMultiFileSourceMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveMultiFileSourceMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveMultiFileSourceMethod "setActive" o = GES.TrackElement.TrackElementSetActiveMethodInfo
ResolveMultiFileSourceMethod "setAsset" o = GES.Extractable.ExtractableSetAssetMethodInfo
ResolveMultiFileSourceMethod "setAutoClampControlSources" o = GES.TrackElement.TrackElementSetAutoClampControlSourcesMethodInfo
ResolveMultiFileSourceMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveMultiFileSourceMethod "setChildProperty" o = GES.TimelineElement.TimelineElementSetChildPropertyMethodInfo
ResolveMultiFileSourceMethod "setChildPropertyByPspec" o = GES.TimelineElement.TimelineElementSetChildPropertyByPspecMethodInfo
ResolveMultiFileSourceMethod "setChildPropertyFull" o = GES.TimelineElement.TimelineElementSetChildPropertyFullMethodInfo
ResolveMultiFileSourceMethod "setControlSource" o = GES.TrackElement.TrackElementSetControlSourceMethodInfo
ResolveMultiFileSourceMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveMultiFileSourceMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveMultiFileSourceMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveMultiFileSourceMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveMultiFileSourceMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveMultiFileSourceMethod "setDuration" o = GES.TimelineElement.TimelineElementSetDurationMethodInfo
ResolveMultiFileSourceMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveMultiFileSourceMethod "setHasInternalSource" o = GES.TrackElement.TrackElementSetHasInternalSourceMethodInfo
ResolveMultiFileSourceMethod "setInpoint" o = GES.TimelineElement.TimelineElementSetInpointMethodInfo
ResolveMultiFileSourceMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveMultiFileSourceMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveMultiFileSourceMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveMultiFileSourceMethod "setMaxDuration" o = GES.TimelineElement.TimelineElementSetMaxDurationMethodInfo
ResolveMultiFileSourceMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveMultiFileSourceMethod "setName" o = GES.TimelineElement.TimelineElementSetNameMethodInfo
ResolveMultiFileSourceMethod "setParent" o = GES.TimelineElement.TimelineElementSetParentMethodInfo
ResolveMultiFileSourceMethod "setPriority" o = GES.TimelineElement.TimelineElementSetPriorityMethodInfo
ResolveMultiFileSourceMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveMultiFileSourceMethod "setStart" o = GES.TimelineElement.TimelineElementSetStartMethodInfo
ResolveMultiFileSourceMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveMultiFileSourceMethod "setTimeline" o = GES.TimelineElement.TimelineElementSetTimelineMethodInfo
ResolveMultiFileSourceMethod "setTrackType" o = GES.TrackElement.TrackElementSetTrackTypeMethodInfo
ResolveMultiFileSourceMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveMultiFileSourceMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveMultiFileSourceMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveMultiFileSourceMethod t MultiFileSource, O.OverloadedMethod info MultiFileSource p) => OL.IsLabel t (MultiFileSource -> 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 ~ ResolveMultiFileSourceMethod t MultiFileSource, O.OverloadedMethod info MultiFileSource p, R.HasField t MultiFileSource p) => R.HasField t MultiFileSource p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveMultiFileSourceMethod t MultiFileSource, O.OverloadedMethodInfo info MultiFileSource) => OL.IsLabel t (O.MethodProxy info MultiFileSource) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getMultiFileSourceUri :: (MonadIO m, IsMultiFileSource o) => o -> m (Maybe T.Text)
getMultiFileSourceUri :: forall (m :: * -> *) o.
(MonadIO m, IsMultiFileSource o) =>
o -> m (Maybe Text)
getMultiFileSourceUri o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"uri"
constructMultiFileSourceUri :: (IsMultiFileSource o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructMultiFileSourceUri :: forall o (m :: * -> *).
(IsMultiFileSource o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructMultiFileSourceUri Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"uri" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data MultiFileSourceUriPropertyInfo
instance AttrInfo MultiFileSourceUriPropertyInfo where
type AttrAllowedOps MultiFileSourceUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint MultiFileSourceUriPropertyInfo = IsMultiFileSource
type AttrSetTypeConstraint MultiFileSourceUriPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint MultiFileSourceUriPropertyInfo = (~) T.Text
type AttrTransferType MultiFileSourceUriPropertyInfo = T.Text
type AttrGetType MultiFileSourceUriPropertyInfo = (Maybe T.Text)
type AttrLabel MultiFileSourceUriPropertyInfo = "uri"
type AttrOrigin MultiFileSourceUriPropertyInfo = MultiFileSource
attrGet = getMultiFileSourceUri
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructMultiFileSourceUri
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.MultiFileSource.uri"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-MultiFileSource.html#g:attr:uri"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList MultiFileSource
type instance O.AttributeList MultiFileSource = MultiFileSourceAttributeList
type MultiFileSourceAttributeList = ('[ '("active", GES.TrackElement.TrackElementActivePropertyInfo), '("autoClampControlSources", GES.TrackElement.TrackElementAutoClampControlSourcesPropertyInfo), '("duration", GES.TimelineElement.TimelineElementDurationPropertyInfo), '("hasInternalSource", GES.TrackElement.TrackElementHasInternalSourcePropertyInfo), '("inPoint", GES.TimelineElement.TimelineElementInPointPropertyInfo), '("maxDuration", GES.TimelineElement.TimelineElementMaxDurationPropertyInfo), '("name", GES.TimelineElement.TimelineElementNamePropertyInfo), '("parent", GES.TimelineElement.TimelineElementParentPropertyInfo), '("priority", GES.TimelineElement.TimelineElementPriorityPropertyInfo), '("serialize", GES.TimelineElement.TimelineElementSerializePropertyInfo), '("start", GES.TimelineElement.TimelineElementStartPropertyInfo), '("timeline", GES.TimelineElement.TimelineElementTimelinePropertyInfo), '("track", GES.TrackElement.TrackElementTrackPropertyInfo), '("trackType", GES.TrackElement.TrackElementTrackTypePropertyInfo), '("uri", MultiFileSourceUriPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
multiFileSourceUri :: AttrLabelProxy "uri"
multiFileSourceUri = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList MultiFileSource = MultiFileSourceSignalList
type MultiFileSourceSignalList = ('[ '("childPropertyAdded", GES.TimelineElement.TimelineElementChildPropertyAddedSignalInfo), '("childPropertyRemoved", GES.TimelineElement.TimelineElementChildPropertyRemovedSignalInfo), '("controlBindingAdded", GES.TrackElement.TrackElementControlBindingAddedSignalInfo), '("controlBindingRemoved", GES.TrackElement.TrackElementControlBindingRemovedSignalInfo), '("deepNotify", GES.TimelineElement.TimelineElementDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "ges_multi_file_source_new" ges_multi_file_source_new ::
CString ->
IO (Ptr MultiFileSource)
multiFileSourceNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m MultiFileSource
multiFileSourceNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m MultiFileSource
multiFileSourceNew Text
uri = IO MultiFileSource -> m MultiFileSource
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO MultiFileSource -> m MultiFileSource)
-> IO MultiFileSource -> m MultiFileSource
forall a b. (a -> b) -> a -> b
$ do
CString
uri' <- Text -> IO CString
textToCString Text
uri
Ptr MultiFileSource
result <- CString -> IO (Ptr MultiFileSource)
ges_multi_file_source_new CString
uri'
Text -> Ptr MultiFileSource -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"multiFileSourceNew" Ptr MultiFileSource
result
MultiFileSource
result' <- ((ManagedPtr MultiFileSource -> MultiFileSource)
-> Ptr MultiFileSource -> IO MultiFileSource
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr MultiFileSource -> MultiFileSource
MultiFileSource) Ptr MultiFileSource
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
uri'
MultiFileSource -> IO MultiFileSource
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return MultiFileSource
result'
#if defined(ENABLE_OVERLOADING)
#endif