{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Poppler.Objects.Media
(
Media(..) ,
IsMedia ,
toMedia ,
#if defined(ENABLE_OVERLOADING)
ResolveMediaMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
MediaGetAutoPlayMethodInfo ,
#endif
mediaGetAutoPlay ,
#if defined(ENABLE_OVERLOADING)
MediaGetFilenameMethodInfo ,
#endif
mediaGetFilename ,
#if defined(ENABLE_OVERLOADING)
MediaGetMimeTypeMethodInfo ,
#endif
mediaGetMimeType ,
#if defined(ENABLE_OVERLOADING)
MediaGetRepeatCountMethodInfo ,
#endif
mediaGetRepeatCount ,
#if defined(ENABLE_OVERLOADING)
MediaGetShowControlsMethodInfo ,
#endif
mediaGetShowControls ,
#if defined(ENABLE_OVERLOADING)
MediaIsEmbeddedMethodInfo ,
#endif
mediaIsEmbedded ,
#if defined(ENABLE_OVERLOADING)
MediaSaveMethodInfo ,
#endif
mediaSave ,
#if defined(ENABLE_OVERLOADING)
MediaSaveToCallbackMethodInfo ,
#endif
mediaSaveToCallback ,
#if defined(ENABLE_OVERLOADING)
MediaSaveToFdMethodInfo ,
#endif
mediaSaveToFd ,
) 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.Poppler.Callbacks as Poppler.Callbacks
newtype Media = Media (SP.ManagedPtr Media)
deriving (Media -> Media -> Bool
(Media -> Media -> Bool) -> (Media -> Media -> Bool) -> Eq Media
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Media -> Media -> Bool
== :: Media -> Media -> Bool
$c/= :: Media -> Media -> Bool
/= :: Media -> Media -> Bool
Eq)
instance SP.ManagedPtrNewtype Media where
toManagedPtr :: Media -> ManagedPtr Media
toManagedPtr (Media ManagedPtr Media
p) = ManagedPtr Media
p
foreign import ccall "poppler_media_get_type"
c_poppler_media_get_type :: IO B.Types.GType
instance B.Types.TypedObject Media where
glibType :: IO GType
glibType = IO GType
c_poppler_media_get_type
instance B.Types.GObject Media
class (SP.GObject o, O.IsDescendantOf Media o) => IsMedia o
instance (SP.GObject o, O.IsDescendantOf Media o) => IsMedia o
instance O.HasParentTypes Media
type instance O.ParentTypes Media = '[GObject.Object.Object]
toMedia :: (MIO.MonadIO m, IsMedia o) => o -> m Media
toMedia :: forall (m :: * -> *) o. (MonadIO m, IsMedia o) => o -> m Media
toMedia = IO Media -> m Media
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Media -> m Media) -> (o -> IO Media) -> o -> m Media
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Media -> Media) -> o -> IO Media
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Media -> Media
Media
instance B.GValue.IsGValue (Maybe Media) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_poppler_media_get_type
gvalueSet_ :: Ptr GValue -> Maybe Media -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Media
P.Nothing = Ptr GValue -> Ptr Media -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Media
forall a. Ptr a
FP.nullPtr :: FP.Ptr Media)
gvalueSet_ Ptr GValue
gv (P.Just Media
obj) = Media -> (Ptr Media -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Media
obj (Ptr GValue -> Ptr Media -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Media)
gvalueGet_ Ptr GValue
gv = do
Ptr Media
ptr <- Ptr GValue -> IO (Ptr Media)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Media)
if Ptr Media
ptr Ptr Media -> Ptr Media -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Media
forall a. Ptr a
FP.nullPtr
then Media -> Maybe Media
forall a. a -> Maybe a
P.Just (Media -> Maybe Media) -> IO Media -> IO (Maybe Media)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Media -> Media) -> Ptr Media -> IO Media
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Media -> Media
Media Ptr Media
ptr
else Maybe Media -> IO (Maybe Media)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Media
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveMediaMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveMediaMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveMediaMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveMediaMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveMediaMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveMediaMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveMediaMethod "isEmbedded" o = MediaIsEmbeddedMethodInfo
ResolveMediaMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveMediaMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveMediaMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveMediaMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveMediaMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveMediaMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveMediaMethod "save" o = MediaSaveMethodInfo
ResolveMediaMethod "saveToCallback" o = MediaSaveToCallbackMethodInfo
ResolveMediaMethod "saveToFd" o = MediaSaveToFdMethodInfo
ResolveMediaMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveMediaMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveMediaMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveMediaMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveMediaMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveMediaMethod "getAutoPlay" o = MediaGetAutoPlayMethodInfo
ResolveMediaMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveMediaMethod "getFilename" o = MediaGetFilenameMethodInfo
ResolveMediaMethod "getMimeType" o = MediaGetMimeTypeMethodInfo
ResolveMediaMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveMediaMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveMediaMethod "getRepeatCount" o = MediaGetRepeatCountMethodInfo
ResolveMediaMethod "getShowControls" o = MediaGetShowControlsMethodInfo
ResolveMediaMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveMediaMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveMediaMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveMediaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveMediaMethod t Media, O.OverloadedMethod info Media p) => OL.IsLabel t (Media -> 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 ~ ResolveMediaMethod t Media, O.OverloadedMethod info Media p, R.HasField t Media p) => R.HasField t Media p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveMediaMethod t Media, O.OverloadedMethodInfo info Media) => OL.IsLabel t (O.MethodProxy info Media) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Media
type instance O.AttributeList Media = MediaAttributeList
type MediaAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Media = MediaSignalList
type MediaSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "poppler_media_get_auto_play" poppler_media_get_auto_play ::
Ptr Media ->
IO CInt
mediaGetAutoPlay ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> m Bool
mediaGetAutoPlay :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> m Bool
mediaGetAutoPlay a
popplerMedia = 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 Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
CInt
result <- Ptr Media -> IO CInt
poppler_media_get_auto_play Ptr Media
popplerMedia'
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
popplerMedia
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data MediaGetAutoPlayMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsMedia a) => O.OverloadedMethod MediaGetAutoPlayMethodInfo a signature where
overloadedMethod = mediaGetAutoPlay
instance O.OverloadedMethodInfo MediaGetAutoPlayMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaGetAutoPlay",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaGetAutoPlay"
})
#endif
foreign import ccall "poppler_media_get_filename" poppler_media_get_filename ::
Ptr Media ->
IO CString
mediaGetFilename ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> m T.Text
mediaGetFilename :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> m Text
mediaGetFilename a
popplerMedia = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
CString
result <- Ptr Media -> IO CString
poppler_media_get_filename Ptr Media
popplerMedia'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"mediaGetFilename" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
popplerMedia
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data MediaGetFilenameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsMedia a) => O.OverloadedMethod MediaGetFilenameMethodInfo a signature where
overloadedMethod = mediaGetFilename
instance O.OverloadedMethodInfo MediaGetFilenameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaGetFilename",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaGetFilename"
})
#endif
foreign import ccall "poppler_media_get_mime_type" poppler_media_get_mime_type ::
Ptr Media ->
IO CString
mediaGetMimeType ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> m T.Text
mediaGetMimeType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> m Text
mediaGetMimeType a
popplerMedia = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
CString
result <- Ptr Media -> IO CString
poppler_media_get_mime_type Ptr Media
popplerMedia'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"mediaGetMimeType" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
popplerMedia
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data MediaGetMimeTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsMedia a) => O.OverloadedMethod MediaGetMimeTypeMethodInfo a signature where
overloadedMethod = mediaGetMimeType
instance O.OverloadedMethodInfo MediaGetMimeTypeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaGetMimeType",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaGetMimeType"
})
#endif
foreign import ccall "poppler_media_get_repeat_count" poppler_media_get_repeat_count ::
Ptr Media ->
IO CFloat
mediaGetRepeatCount ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> m Float
mediaGetRepeatCount :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> m Float
mediaGetRepeatCount a
popplerMedia = IO Float -> m Float
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Float -> m Float) -> IO Float -> m Float
forall a b. (a -> b) -> a -> b
$ do
Ptr Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
CFloat
result <- Ptr Media -> IO CFloat
poppler_media_get_repeat_count Ptr Media
popplerMedia'
let result' :: Float
result' = CFloat -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac CFloat
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
popplerMedia
Float -> IO Float
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Float
result'
#if defined(ENABLE_OVERLOADING)
data MediaGetRepeatCountMethodInfo
instance (signature ~ (m Float), MonadIO m, IsMedia a) => O.OverloadedMethod MediaGetRepeatCountMethodInfo a signature where
overloadedMethod = mediaGetRepeatCount
instance O.OverloadedMethodInfo MediaGetRepeatCountMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaGetRepeatCount",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaGetRepeatCount"
})
#endif
foreign import ccall "poppler_media_get_show_controls" poppler_media_get_show_controls ::
Ptr Media ->
IO CInt
mediaGetShowControls ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> m Bool
mediaGetShowControls :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> m Bool
mediaGetShowControls a
popplerMedia = 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 Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
CInt
result <- Ptr Media -> IO CInt
poppler_media_get_show_controls Ptr Media
popplerMedia'
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
popplerMedia
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data MediaGetShowControlsMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsMedia a) => O.OverloadedMethod MediaGetShowControlsMethodInfo a signature where
overloadedMethod = mediaGetShowControls
instance O.OverloadedMethodInfo MediaGetShowControlsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaGetShowControls",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaGetShowControls"
})
#endif
foreign import ccall "poppler_media_is_embedded" poppler_media_is_embedded ::
Ptr Media ->
IO CInt
mediaIsEmbedded ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> m Bool
mediaIsEmbedded :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> m Bool
mediaIsEmbedded a
popplerMedia = 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 Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
CInt
result <- Ptr Media -> IO CInt
poppler_media_is_embedded Ptr Media
popplerMedia'
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
popplerMedia
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data MediaIsEmbeddedMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsMedia a) => O.OverloadedMethod MediaIsEmbeddedMethodInfo a signature where
overloadedMethod = mediaIsEmbedded
instance O.OverloadedMethodInfo MediaIsEmbeddedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaIsEmbedded",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaIsEmbedded"
})
#endif
foreign import ccall "poppler_media_save" poppler_media_save ::
Ptr Media ->
CString ->
Ptr (Ptr GError) ->
IO CInt
mediaSave ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> T.Text
-> m ()
mediaSave :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> Text -> m ()
mediaSave a
popplerMedia Text
filename = 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 Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
CString
filename' <- Text -> IO CString
textToCString Text
filename
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Media -> CString -> Ptr (Ptr GError) -> IO CInt
poppler_media_save Ptr Media
popplerMedia' CString
filename'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
popplerMedia
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filename'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filename'
)
#if defined(ENABLE_OVERLOADING)
data MediaSaveMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsMedia a) => O.OverloadedMethod MediaSaveMethodInfo a signature where
overloadedMethod = mediaSave
instance O.OverloadedMethodInfo MediaSaveMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaSave",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaSave"
})
#endif
foreign import ccall "poppler_media_save_to_callback" poppler_media_save_to_callback ::
Ptr Media ->
FunPtr Poppler.Callbacks.C_MediaSaveFunc ->
Ptr () ->
Ptr (Ptr GError) ->
IO CInt
mediaSaveToCallback ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> FunPtr Poppler.Callbacks.C_MediaSaveFunc
-> m ()
mediaSaveToCallback :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> FunPtr C_MediaSaveFunc -> m ()
mediaSaveToCallback a
popplerMedia FunPtr C_MediaSaveFunc
saveFunc = 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 Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Media
-> FunPtr C_MediaSaveFunc -> Ptr () -> Ptr (Ptr GError) -> IO CInt
poppler_media_save_to_callback Ptr Media
popplerMedia' FunPtr C_MediaSaveFunc
saveFunc Ptr ()
forall a. Ptr a
userData
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_MediaSaveFunc -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_MediaSaveFunc
saveFunc
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
popplerMedia
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_MediaSaveFunc -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_MediaSaveFunc
saveFunc
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data MediaSaveToCallbackMethodInfo
instance (signature ~ (FunPtr Poppler.Callbacks.C_MediaSaveFunc -> m ()), MonadIO m, IsMedia a) => O.OverloadedMethod MediaSaveToCallbackMethodInfo a signature where
overloadedMethod = mediaSaveToCallback
instance O.OverloadedMethodInfo MediaSaveToCallbackMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaSaveToCallback",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaSaveToCallback"
})
#endif
foreign import ccall "poppler_media_save_to_fd" poppler_media_save_to_fd ::
Ptr Media ->
Int32 ->
Ptr (Ptr GError) ->
IO CInt
mediaSaveToFd ::
(B.CallStack.HasCallStack, MonadIO m, IsMedia a) =>
a
-> Int32
-> m ()
mediaSaveToFd :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMedia a) =>
a -> Int32 -> m ()
mediaSaveToFd a
popplerMedia Int32
fd = 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 Media
popplerMedia' <- a -> IO (Ptr Media)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
popplerMedia
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Media -> Int32 -> Ptr (Ptr GError) -> IO CInt
poppler_media_save_to_fd Ptr Media
popplerMedia' Int32
fd
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
popplerMedia
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data MediaSaveToFdMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsMedia a) => O.OverloadedMethod MediaSaveToFdMethodInfo a signature where
overloadedMethod = mediaSaveToFd
instance O.OverloadedMethodInfo MediaSaveToFdMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Poppler.Objects.Media.mediaSaveToFd",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-poppler-0.18.29/docs/GI-Poppler-Objects-Media.html#v:mediaSaveToFd"
})
#endif