{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.Operation
(
Operation(..) ,
IsOperation ,
toOperation ,
#if defined(ENABLE_OVERLOADING)
ResolveOperationMethod ,
#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.TimelineElement as GES.TimelineElement
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import qualified GI.GObject.Objects.Object as GObject.Object
newtype Operation = Operation (SP.ManagedPtr Operation)
deriving (Operation -> Operation -> Bool
(Operation -> Operation -> Bool)
-> (Operation -> Operation -> Bool) -> Eq Operation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Operation -> Operation -> Bool
== :: Operation -> Operation -> Bool
$c/= :: Operation -> Operation -> Bool
/= :: Operation -> Operation -> Bool
Eq)
instance SP.ManagedPtrNewtype Operation where
toManagedPtr :: Operation -> ManagedPtr Operation
toManagedPtr (Operation ManagedPtr Operation
p) = ManagedPtr Operation
p
foreign import ccall "ges_operation_get_type"
c_ges_operation_get_type :: IO B.Types.GType
instance B.Types.TypedObject Operation where
glibType :: IO GType
glibType = IO GType
c_ges_operation_get_type
instance B.Types.GObject Operation
class (SP.GObject o, O.IsDescendantOf Operation o) => IsOperation o
instance (SP.GObject o, O.IsDescendantOf Operation o) => IsOperation o
instance O.HasParentTypes Operation
type instance O.ParentTypes Operation = '[GES.TrackElement.TrackElement, GES.TimelineElement.TimelineElement, GObject.Object.Object, GES.Extractable.Extractable, GES.MetaContainer.MetaContainer]
toOperation :: (MIO.MonadIO m, IsOperation o) => o -> m Operation
toOperation :: forall (m :: * -> *) o.
(MonadIO m, IsOperation o) =>
o -> m Operation
toOperation = IO Operation -> m Operation
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Operation -> m Operation)
-> (o -> IO Operation) -> o -> m Operation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Operation -> Operation) -> o -> IO Operation
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Operation -> Operation
Operation
instance B.GValue.IsGValue (Maybe Operation) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_operation_get_type
gvalueSet_ :: Ptr GValue -> Maybe Operation -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Operation
P.Nothing = Ptr GValue -> Ptr Operation -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Operation
forall a. Ptr a
FP.nullPtr :: FP.Ptr Operation)
gvalueSet_ Ptr GValue
gv (P.Just Operation
obj) = Operation -> (Ptr Operation -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Operation
obj (Ptr GValue -> Ptr Operation -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Operation)
gvalueGet_ Ptr GValue
gv = do
Ptr Operation
ptr <- Ptr GValue -> IO (Ptr Operation)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Operation)
if Ptr Operation
ptr Ptr Operation -> Ptr Operation -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Operation
forall a. Ptr a
FP.nullPtr
then Operation -> Maybe Operation
forall a. a -> Maybe a
P.Just (Operation -> Maybe Operation)
-> IO Operation -> IO (Maybe Operation)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Operation -> Operation)
-> Ptr Operation -> IO Operation
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Operation -> Operation
Operation Ptr Operation
ptr
else Maybe Operation -> IO (Maybe Operation)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Operation
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveOperationMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveOperationMethod "addChildProperty" o = GES.TimelineElement.TimelineElementAddChildPropertyMethodInfo
ResolveOperationMethod "addChildrenProps" o = GES.TrackElement.TrackElementAddChildrenPropsMethodInfo
ResolveOperationMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveOperationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveOperationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveOperationMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveOperationMethod "clampControlSource" o = GES.TrackElement.TrackElementClampControlSourceMethodInfo
ResolveOperationMethod "copy" o = GES.TimelineElement.TimelineElementCopyMethodInfo
ResolveOperationMethod "edit" o = GES.TrackElement.TrackElementEditMethodInfo
ResolveOperationMethod "editFull" o = GES.TimelineElement.TimelineElementEditFullMethodInfo
ResolveOperationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveOperationMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveOperationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveOperationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveOperationMethod "hasInternalSource" o = GES.TrackElement.TrackElementHasInternalSourceMethodInfo
ResolveOperationMethod "isActive" o = GES.TrackElement.TrackElementIsActiveMethodInfo
ResolveOperationMethod "isCore" o = GES.TrackElement.TrackElementIsCoreMethodInfo
ResolveOperationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveOperationMethod "listChildrenProperties" o = GES.TrackElement.TrackElementListChildrenPropertiesMethodInfo
ResolveOperationMethod "lookupChild" o = GES.TrackElement.TrackElementLookupChildMethodInfo
ResolveOperationMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveOperationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveOperationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveOperationMethod "paste" o = GES.TimelineElement.TimelineElementPasteMethodInfo
ResolveOperationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveOperationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveOperationMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveOperationMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveOperationMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveOperationMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveOperationMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveOperationMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveOperationMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveOperationMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveOperationMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveOperationMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveOperationMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveOperationMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveOperationMethod "removeChildProperty" o = GES.TimelineElement.TimelineElementRemoveChildPropertyMethodInfo
ResolveOperationMethod "removeControlBinding" o = GES.TrackElement.TrackElementRemoveControlBindingMethodInfo
ResolveOperationMethod "ripple" o = GES.TimelineElement.TimelineElementRippleMethodInfo
ResolveOperationMethod "rippleEnd" o = GES.TimelineElement.TimelineElementRippleEndMethodInfo
ResolveOperationMethod "rollEnd" o = GES.TimelineElement.TimelineElementRollEndMethodInfo
ResolveOperationMethod "rollStart" o = GES.TimelineElement.TimelineElementRollStartMethodInfo
ResolveOperationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveOperationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveOperationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveOperationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveOperationMethod "trim" o = GES.TimelineElement.TimelineElementTrimMethodInfo
ResolveOperationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveOperationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveOperationMethod "getAllControlBindings" o = GES.TrackElement.TrackElementGetAllControlBindingsMethodInfo
ResolveOperationMethod "getAsset" o = GES.Extractable.ExtractableGetAssetMethodInfo
ResolveOperationMethod "getAutoClampControlSources" o = GES.TrackElement.TrackElementGetAutoClampControlSourcesMethodInfo
ResolveOperationMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveOperationMethod "getChildProperty" o = GES.TimelineElement.TimelineElementGetChildPropertyMethodInfo
ResolveOperationMethod "getChildPropertyByPspec" o = GES.TimelineElement.TimelineElementGetChildPropertyByPspecMethodInfo
ResolveOperationMethod "getControlBinding" o = GES.TrackElement.TrackElementGetControlBindingMethodInfo
ResolveOperationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveOperationMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveOperationMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveOperationMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveOperationMethod "getDuration" o = GES.TimelineElement.TimelineElementGetDurationMethodInfo
ResolveOperationMethod "getElement" o = GES.TrackElement.TrackElementGetElementMethodInfo
ResolveOperationMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveOperationMethod "getGnlobject" o = GES.TrackElement.TrackElementGetGnlobjectMethodInfo
ResolveOperationMethod "getId" o = GES.Extractable.ExtractableGetIdMethodInfo
ResolveOperationMethod "getInpoint" o = GES.TimelineElement.TimelineElementGetInpointMethodInfo
ResolveOperationMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveOperationMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveOperationMethod "getLayerPriority" o = GES.TimelineElement.TimelineElementGetLayerPriorityMethodInfo
ResolveOperationMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveOperationMethod "getMaxDuration" o = GES.TimelineElement.TimelineElementGetMaxDurationMethodInfo
ResolveOperationMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveOperationMethod "getName" o = GES.TimelineElement.TimelineElementGetNameMethodInfo
ResolveOperationMethod "getNaturalFramerate" o = GES.TimelineElement.TimelineElementGetNaturalFramerateMethodInfo
ResolveOperationMethod "getNleobject" o = GES.TrackElement.TrackElementGetNleobjectMethodInfo
ResolveOperationMethod "getParent" o = GES.TimelineElement.TimelineElementGetParentMethodInfo
ResolveOperationMethod "getPriority" o = GES.TimelineElement.TimelineElementGetPriorityMethodInfo
ResolveOperationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveOperationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveOperationMethod "getStart" o = GES.TimelineElement.TimelineElementGetStartMethodInfo
ResolveOperationMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveOperationMethod "getTimeline" o = GES.TimelineElement.TimelineElementGetTimelineMethodInfo
ResolveOperationMethod "getToplevelParent" o = GES.TimelineElement.TimelineElementGetToplevelParentMethodInfo
ResolveOperationMethod "getTrack" o = GES.TrackElement.TrackElementGetTrackMethodInfo
ResolveOperationMethod "getTrackType" o = GES.TrackElement.TrackElementGetTrackTypeMethodInfo
ResolveOperationMethod "getTrackTypes" o = GES.TimelineElement.TimelineElementGetTrackTypesMethodInfo
ResolveOperationMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveOperationMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveOperationMethod "setActive" o = GES.TrackElement.TrackElementSetActiveMethodInfo
ResolveOperationMethod "setAsset" o = GES.Extractable.ExtractableSetAssetMethodInfo
ResolveOperationMethod "setAutoClampControlSources" o = GES.TrackElement.TrackElementSetAutoClampControlSourcesMethodInfo
ResolveOperationMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveOperationMethod "setChildProperty" o = GES.TimelineElement.TimelineElementSetChildPropertyMethodInfo
ResolveOperationMethod "setChildPropertyByPspec" o = GES.TimelineElement.TimelineElementSetChildPropertyByPspecMethodInfo
ResolveOperationMethod "setChildPropertyFull" o = GES.TimelineElement.TimelineElementSetChildPropertyFullMethodInfo
ResolveOperationMethod "setControlSource" o = GES.TrackElement.TrackElementSetControlSourceMethodInfo
ResolveOperationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveOperationMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveOperationMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveOperationMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveOperationMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveOperationMethod "setDuration" o = GES.TimelineElement.TimelineElementSetDurationMethodInfo
ResolveOperationMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveOperationMethod "setHasInternalSource" o = GES.TrackElement.TrackElementSetHasInternalSourceMethodInfo
ResolveOperationMethod "setInpoint" o = GES.TimelineElement.TimelineElementSetInpointMethodInfo
ResolveOperationMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveOperationMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveOperationMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveOperationMethod "setMaxDuration" o = GES.TimelineElement.TimelineElementSetMaxDurationMethodInfo
ResolveOperationMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveOperationMethod "setName" o = GES.TimelineElement.TimelineElementSetNameMethodInfo
ResolveOperationMethod "setParent" o = GES.TimelineElement.TimelineElementSetParentMethodInfo
ResolveOperationMethod "setPriority" o = GES.TimelineElement.TimelineElementSetPriorityMethodInfo
ResolveOperationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveOperationMethod "setStart" o = GES.TimelineElement.TimelineElementSetStartMethodInfo
ResolveOperationMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveOperationMethod "setTimeline" o = GES.TimelineElement.TimelineElementSetTimelineMethodInfo
ResolveOperationMethod "setTrackType" o = GES.TrackElement.TrackElementSetTrackTypeMethodInfo
ResolveOperationMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveOperationMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveOperationMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveOperationMethod t Operation, O.OverloadedMethod info Operation p) => OL.IsLabel t (Operation -> 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 ~ ResolveOperationMethod t Operation, O.OverloadedMethod info Operation p, R.HasField t Operation p) => R.HasField t Operation p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveOperationMethod t Operation, O.OverloadedMethodInfo info Operation) => OL.IsLabel t (O.MethodProxy info Operation) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Operation
type instance O.AttributeList Operation = OperationAttributeList
type OperationAttributeList = ('[ '("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)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Operation = OperationSignalList
type OperationSignalList = ('[ '("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