{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstTag.Interfaces.TagXmpWriter
(
TagXmpWriter(..) ,
IsTagXmpWriter ,
toTagXmpWriter ,
#if defined(ENABLE_OVERLOADING)
ResolveTagXmpWriterMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TagXmpWriterAddAllSchemasMethodInfo ,
#endif
tagXmpWriterAddAllSchemas ,
#if defined(ENABLE_OVERLOADING)
TagXmpWriterAddSchemaMethodInfo ,
#endif
tagXmpWriterAddSchema ,
#if defined(ENABLE_OVERLOADING)
TagXmpWriterHasSchemaMethodInfo ,
#endif
tagXmpWriterHasSchema ,
#if defined(ENABLE_OVERLOADING)
TagXmpWriterRemoveAllSchemasMethodInfo ,
#endif
tagXmpWriterRemoveAllSchemas ,
#if defined(ENABLE_OVERLOADING)
TagXmpWriterRemoveSchemaMethodInfo ,
#endif
tagXmpWriterRemoveSchema ,
#if defined(ENABLE_OVERLOADING)
TagXmpWriterTagListToXmpBufferMethodInfo,
#endif
tagXmpWriterTagListToXmpBuffer ,
) 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 qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Structs.Buffer as Gst.Buffer
import qualified GI.Gst.Structs.TagList as Gst.TagList
newtype TagXmpWriter = TagXmpWriter (SP.ManagedPtr TagXmpWriter)
deriving (TagXmpWriter -> TagXmpWriter -> Bool
(TagXmpWriter -> TagXmpWriter -> Bool)
-> (TagXmpWriter -> TagXmpWriter -> Bool) -> Eq TagXmpWriter
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TagXmpWriter -> TagXmpWriter -> Bool
== :: TagXmpWriter -> TagXmpWriter -> Bool
$c/= :: TagXmpWriter -> TagXmpWriter -> Bool
/= :: TagXmpWriter -> TagXmpWriter -> Bool
Eq)
instance SP.ManagedPtrNewtype TagXmpWriter where
toManagedPtr :: TagXmpWriter -> ManagedPtr TagXmpWriter
toManagedPtr (TagXmpWriter ManagedPtr TagXmpWriter
p) = ManagedPtr TagXmpWriter
p
foreign import ccall "gst_tag_xmp_writer_get_type"
c_gst_tag_xmp_writer_get_type :: IO B.Types.GType
instance B.Types.TypedObject TagXmpWriter where
glibType :: IO GType
glibType = IO GType
c_gst_tag_xmp_writer_get_type
instance B.Types.GObject TagXmpWriter
class (SP.GObject o, O.IsDescendantOf TagXmpWriter o) => IsTagXmpWriter o
instance (SP.GObject o, O.IsDescendantOf TagXmpWriter o) => IsTagXmpWriter o
instance O.HasParentTypes TagXmpWriter
type instance O.ParentTypes TagXmpWriter = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]
toTagXmpWriter :: (MIO.MonadIO m, IsTagXmpWriter o) => o -> m TagXmpWriter
toTagXmpWriter :: forall (m :: * -> *) o.
(MonadIO m, IsTagXmpWriter o) =>
o -> m TagXmpWriter
toTagXmpWriter = IO TagXmpWriter -> m TagXmpWriter
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO TagXmpWriter -> m TagXmpWriter)
-> (o -> IO TagXmpWriter) -> o -> m TagXmpWriter
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TagXmpWriter -> TagXmpWriter) -> o -> IO TagXmpWriter
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr TagXmpWriter -> TagXmpWriter
TagXmpWriter
instance B.GValue.IsGValue (Maybe TagXmpWriter) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_tag_xmp_writer_get_type
gvalueSet_ :: Ptr GValue -> Maybe TagXmpWriter -> IO ()
gvalueSet_ Ptr GValue
gv Maybe TagXmpWriter
P.Nothing = Ptr GValue -> Ptr TagXmpWriter -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr TagXmpWriter
forall a. Ptr a
FP.nullPtr :: FP.Ptr TagXmpWriter)
gvalueSet_ Ptr GValue
gv (P.Just TagXmpWriter
obj) = TagXmpWriter -> (Ptr TagXmpWriter -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TagXmpWriter
obj (Ptr GValue -> Ptr TagXmpWriter -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe TagXmpWriter)
gvalueGet_ Ptr GValue
gv = do
Ptr TagXmpWriter
ptr <- Ptr GValue -> IO (Ptr TagXmpWriter)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr TagXmpWriter)
if Ptr TagXmpWriter
ptr Ptr TagXmpWriter -> Ptr TagXmpWriter -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr TagXmpWriter
forall a. Ptr a
FP.nullPtr
then TagXmpWriter -> Maybe TagXmpWriter
forall a. a -> Maybe a
P.Just (TagXmpWriter -> Maybe TagXmpWriter)
-> IO TagXmpWriter -> IO (Maybe TagXmpWriter)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr TagXmpWriter -> TagXmpWriter)
-> Ptr TagXmpWriter -> IO TagXmpWriter
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr TagXmpWriter -> TagXmpWriter
TagXmpWriter Ptr TagXmpWriter
ptr
else Maybe TagXmpWriter -> IO (Maybe TagXmpWriter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TagXmpWriter
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TagXmpWriter
type instance O.AttributeList TagXmpWriter = TagXmpWriterAttributeList
type TagXmpWriterAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveTagXmpWriterMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveTagXmpWriterMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveTagXmpWriterMethod "addAllSchemas" o = TagXmpWriterAddAllSchemasMethodInfo
ResolveTagXmpWriterMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveTagXmpWriterMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveTagXmpWriterMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveTagXmpWriterMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveTagXmpWriterMethod "addSchema" o = TagXmpWriterAddSchemaMethodInfo
ResolveTagXmpWriterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTagXmpWriterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTagXmpWriterMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveTagXmpWriterMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveTagXmpWriterMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveTagXmpWriterMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveTagXmpWriterMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveTagXmpWriterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTagXmpWriterMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveTagXmpWriterMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveTagXmpWriterMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveTagXmpWriterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTagXmpWriterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTagXmpWriterMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveTagXmpWriterMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveTagXmpWriterMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveTagXmpWriterMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveTagXmpWriterMethod "hasSchema" o = TagXmpWriterHasSchemaMethodInfo
ResolveTagXmpWriterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTagXmpWriterMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveTagXmpWriterMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveTagXmpWriterMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveTagXmpWriterMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveTagXmpWriterMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveTagXmpWriterMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveTagXmpWriterMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveTagXmpWriterMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveTagXmpWriterMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveTagXmpWriterMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveTagXmpWriterMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveTagXmpWriterMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveTagXmpWriterMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveTagXmpWriterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTagXmpWriterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTagXmpWriterMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveTagXmpWriterMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveTagXmpWriterMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveTagXmpWriterMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveTagXmpWriterMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveTagXmpWriterMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveTagXmpWriterMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveTagXmpWriterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTagXmpWriterMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveTagXmpWriterMethod "removeAllSchemas" o = TagXmpWriterRemoveAllSchemasMethodInfo
ResolveTagXmpWriterMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveTagXmpWriterMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveTagXmpWriterMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveTagXmpWriterMethod "removeSchema" o = TagXmpWriterRemoveSchemaMethodInfo
ResolveTagXmpWriterMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveTagXmpWriterMethod "requestPadSimple" o = Gst.Element.ElementRequestPadSimpleMethodInfo
ResolveTagXmpWriterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTagXmpWriterMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveTagXmpWriterMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveTagXmpWriterMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveTagXmpWriterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTagXmpWriterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTagXmpWriterMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveTagXmpWriterMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveTagXmpWriterMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveTagXmpWriterMethod "tagListToXmpBuffer" o = TagXmpWriterTagListToXmpBufferMethodInfo
ResolveTagXmpWriterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTagXmpWriterMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveTagXmpWriterMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveTagXmpWriterMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveTagXmpWriterMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveTagXmpWriterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTagXmpWriterMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveTagXmpWriterMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveTagXmpWriterMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveTagXmpWriterMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveTagXmpWriterMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveTagXmpWriterMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveTagXmpWriterMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveTagXmpWriterMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveTagXmpWriterMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveTagXmpWriterMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveTagXmpWriterMethod "getCurrentClockTime" o = Gst.Element.ElementGetCurrentClockTimeMethodInfo
ResolveTagXmpWriterMethod "getCurrentRunningTime" o = Gst.Element.ElementGetCurrentRunningTimeMethodInfo
ResolveTagXmpWriterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTagXmpWriterMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveTagXmpWriterMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveTagXmpWriterMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveTagXmpWriterMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveTagXmpWriterMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveTagXmpWriterMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveTagXmpWriterMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveTagXmpWriterMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveTagXmpWriterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTagXmpWriterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTagXmpWriterMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveTagXmpWriterMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveTagXmpWriterMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveTagXmpWriterMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveTagXmpWriterMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveTagXmpWriterMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveTagXmpWriterMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveTagXmpWriterMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveTagXmpWriterMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveTagXmpWriterMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveTagXmpWriterMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveTagXmpWriterMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveTagXmpWriterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTagXmpWriterMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTagXmpWriterMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveTagXmpWriterMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveTagXmpWriterMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveTagXmpWriterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTagXmpWriterMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveTagXmpWriterMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveTagXmpWriterMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTagXmpWriterMethod t TagXmpWriter, O.OverloadedMethod info TagXmpWriter p) => OL.IsLabel t (TagXmpWriter -> 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 ~ ResolveTagXmpWriterMethod t TagXmpWriter, O.OverloadedMethod info TagXmpWriter p, R.HasField t TagXmpWriter p) => R.HasField t TagXmpWriter p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveTagXmpWriterMethod t TagXmpWriter, O.OverloadedMethodInfo info TagXmpWriter) => OL.IsLabel t (O.MethodProxy info TagXmpWriter) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "gst_tag_xmp_writer_add_all_schemas" gst_tag_xmp_writer_add_all_schemas ::
Ptr TagXmpWriter ->
IO ()
tagXmpWriterAddAllSchemas ::
(B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a
-> m ()
tagXmpWriterAddAllSchemas :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a -> m ()
tagXmpWriterAddAllSchemas a
config = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr TagXmpWriter
config' <- a -> IO (Ptr TagXmpWriter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
Ptr TagXmpWriter -> IO ()
gst_tag_xmp_writer_add_all_schemas Ptr TagXmpWriter
config'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagXmpWriterAddAllSchemasMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTagXmpWriter a) => O.OverloadedMethod TagXmpWriterAddAllSchemasMethodInfo a signature where
overloadedMethod = tagXmpWriterAddAllSchemas
instance O.OverloadedMethodInfo TagXmpWriterAddAllSchemasMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstTag.Interfaces.TagXmpWriter.tagXmpWriterAddAllSchemas",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsttag-1.0.27/docs/GI-GstTag-Interfaces-TagXmpWriter.html#v:tagXmpWriterAddAllSchemas"
})
#endif
foreign import ccall "gst_tag_xmp_writer_add_schema" gst_tag_xmp_writer_add_schema ::
Ptr TagXmpWriter ->
CString ->
IO ()
tagXmpWriterAddSchema ::
(B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a
-> T.Text
-> m ()
tagXmpWriterAddSchema :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a -> Text -> m ()
tagXmpWriterAddSchema a
config Text
schema = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr TagXmpWriter
config' <- a -> IO (Ptr TagXmpWriter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
schema' <- Text -> IO CString
textToCString Text
schema
Ptr TagXmpWriter -> CString -> IO ()
gst_tag_xmp_writer_add_schema Ptr TagXmpWriter
config' CString
schema'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schema'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagXmpWriterAddSchemaMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsTagXmpWriter a) => O.OverloadedMethod TagXmpWriterAddSchemaMethodInfo a signature where
overloadedMethod = tagXmpWriterAddSchema
instance O.OverloadedMethodInfo TagXmpWriterAddSchemaMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstTag.Interfaces.TagXmpWriter.tagXmpWriterAddSchema",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsttag-1.0.27/docs/GI-GstTag-Interfaces-TagXmpWriter.html#v:tagXmpWriterAddSchema"
})
#endif
foreign import ccall "gst_tag_xmp_writer_has_schema" gst_tag_xmp_writer_has_schema ::
Ptr TagXmpWriter ->
CString ->
IO CInt
tagXmpWriterHasSchema ::
(B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a
-> T.Text
-> m Bool
tagXmpWriterHasSchema :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a -> Text -> m Bool
tagXmpWriterHasSchema a
config Text
schema = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr TagXmpWriter
config' <- a -> IO (Ptr TagXmpWriter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
schema' <- Text -> IO CString
textToCString Text
schema
CInt
result <- Ptr TagXmpWriter -> CString -> IO CInt
gst_tag_xmp_writer_has_schema Ptr TagXmpWriter
config' CString
schema'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schema'
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TagXmpWriterHasSchemaMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsTagXmpWriter a) => O.OverloadedMethod TagXmpWriterHasSchemaMethodInfo a signature where
overloadedMethod = tagXmpWriterHasSchema
instance O.OverloadedMethodInfo TagXmpWriterHasSchemaMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstTag.Interfaces.TagXmpWriter.tagXmpWriterHasSchema",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsttag-1.0.27/docs/GI-GstTag-Interfaces-TagXmpWriter.html#v:tagXmpWriterHasSchema"
})
#endif
foreign import ccall "gst_tag_xmp_writer_remove_all_schemas" gst_tag_xmp_writer_remove_all_schemas ::
Ptr TagXmpWriter ->
IO ()
tagXmpWriterRemoveAllSchemas ::
(B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a
-> m ()
tagXmpWriterRemoveAllSchemas :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a -> m ()
tagXmpWriterRemoveAllSchemas a
config = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr TagXmpWriter
config' <- a -> IO (Ptr TagXmpWriter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
Ptr TagXmpWriter -> IO ()
gst_tag_xmp_writer_remove_all_schemas Ptr TagXmpWriter
config'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagXmpWriterRemoveAllSchemasMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTagXmpWriter a) => O.OverloadedMethod TagXmpWriterRemoveAllSchemasMethodInfo a signature where
overloadedMethod = tagXmpWriterRemoveAllSchemas
instance O.OverloadedMethodInfo TagXmpWriterRemoveAllSchemasMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstTag.Interfaces.TagXmpWriter.tagXmpWriterRemoveAllSchemas",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsttag-1.0.27/docs/GI-GstTag-Interfaces-TagXmpWriter.html#v:tagXmpWriterRemoveAllSchemas"
})
#endif
foreign import ccall "gst_tag_xmp_writer_remove_schema" gst_tag_xmp_writer_remove_schema ::
Ptr TagXmpWriter ->
CString ->
IO ()
tagXmpWriterRemoveSchema ::
(B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a
-> T.Text
-> m ()
tagXmpWriterRemoveSchema :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a -> Text -> m ()
tagXmpWriterRemoveSchema a
config Text
schema = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr TagXmpWriter
config' <- a -> IO (Ptr TagXmpWriter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
schema' <- Text -> IO CString
textToCString Text
schema
Ptr TagXmpWriter -> CString -> IO ()
gst_tag_xmp_writer_remove_schema Ptr TagXmpWriter
config' CString
schema'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schema'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagXmpWriterRemoveSchemaMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsTagXmpWriter a) => O.OverloadedMethod TagXmpWriterRemoveSchemaMethodInfo a signature where
overloadedMethod = tagXmpWriterRemoveSchema
instance O.OverloadedMethodInfo TagXmpWriterRemoveSchemaMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstTag.Interfaces.TagXmpWriter.tagXmpWriterRemoveSchema",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsttag-1.0.27/docs/GI-GstTag-Interfaces-TagXmpWriter.html#v:tagXmpWriterRemoveSchema"
})
#endif
foreign import ccall "gst_tag_xmp_writer_tag_list_to_xmp_buffer" gst_tag_xmp_writer_tag_list_to_xmp_buffer ::
Ptr TagXmpWriter ->
Ptr Gst.TagList.TagList ->
CInt ->
IO (Ptr Gst.Buffer.Buffer)
tagXmpWriterTagListToXmpBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a
-> Gst.TagList.TagList
-> Bool
-> m Gst.Buffer.Buffer
tagXmpWriterTagListToXmpBuffer :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTagXmpWriter a) =>
a -> TagList -> Bool -> m Buffer
tagXmpWriterTagListToXmpBuffer a
config TagList
taglist Bool
readOnly = IO Buffer -> m Buffer
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Buffer -> m Buffer) -> IO Buffer -> m Buffer
forall a b. (a -> b) -> a -> b
$ do
Ptr TagXmpWriter
config' <- a -> IO (Ptr TagXmpWriter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
Ptr TagList
taglist' <- TagList -> IO (Ptr TagList)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TagList
taglist
let readOnly' :: CInt
readOnly' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
P.fromEnum) Bool
readOnly
Ptr Buffer
result <- Ptr TagXmpWriter -> Ptr TagList -> CInt -> IO (Ptr Buffer)
gst_tag_xmp_writer_tag_list_to_xmp_buffer Ptr TagXmpWriter
config' Ptr TagList
taglist' CInt
readOnly'
Text -> Ptr Buffer -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"tagXmpWriterTagListToXmpBuffer" Ptr Buffer
result
Buffer
result' <- ((ManagedPtr Buffer -> Buffer) -> Ptr Buffer -> IO Buffer
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Buffer -> Buffer
Gst.Buffer.Buffer) Ptr Buffer
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
TagList -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TagList
taglist
Buffer -> IO Buffer
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Buffer
result'
#if defined(ENABLE_OVERLOADING)
data TagXmpWriterTagListToXmpBufferMethodInfo
instance (signature ~ (Gst.TagList.TagList -> Bool -> m Gst.Buffer.Buffer), MonadIO m, IsTagXmpWriter a) => O.OverloadedMethod TagXmpWriterTagListToXmpBufferMethodInfo a signature where
overloadedMethod = tagXmpWriterTagListToXmpBuffer
instance O.OverloadedMethodInfo TagXmpWriterTagListToXmpBufferMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstTag.Interfaces.TagXmpWriter.tagXmpWriterTagListToXmpBuffer",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsttag-1.0.27/docs/GI-GstTag-Interfaces-TagXmpWriter.html#v:tagXmpWriterTagListToXmpBuffer"
})
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TagXmpWriter = TagXmpWriterSignalList
type TagXmpWriterSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, DK.Type)])
#endif