{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gdk.Objects.ContentProvider
(
ContentProvider(..) ,
IsContentProvider ,
toContentProvider ,
#if defined(ENABLE_OVERLOADING)
ResolveContentProviderMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ContentProviderContentChangedMethodInfo ,
#endif
contentProviderContentChanged ,
#if defined(ENABLE_OVERLOADING)
ContentProviderGetValueMethodInfo ,
#endif
contentProviderGetValue ,
contentProviderNewForBytes ,
contentProviderNewForValue ,
contentProviderNewUnion ,
#if defined(ENABLE_OVERLOADING)
ContentProviderRefFormatsMethodInfo ,
#endif
contentProviderRefFormats ,
#if defined(ENABLE_OVERLOADING)
ContentProviderRefStorableFormatsMethodInfo,
#endif
contentProviderRefStorableFormats ,
#if defined(ENABLE_OVERLOADING)
ContentProviderWriteMimeTypeAsyncMethodInfo,
#endif
contentProviderWriteMimeTypeAsync ,
#if defined(ENABLE_OVERLOADING)
ContentProviderWriteMimeTypeFinishMethodInfo,
#endif
contentProviderWriteMimeTypeFinish ,
#if defined(ENABLE_OVERLOADING)
ContentProviderFormatsPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
contentProviderFormats ,
#endif
getContentProviderFormats ,
#if defined(ENABLE_OVERLOADING)
ContentProviderStorableFormatsPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
contentProviderStorableFormats ,
#endif
getContentProviderStorableFormats ,
ContentProviderContentChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ContentProviderContentChangedSignalInfo ,
#endif
afterContentProviderContentChanged ,
onContentProviderContentChanged ,
) 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 Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GLib.Structs.String as GLib.String
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gdk.Structs.ContentFormats as Gdk.ContentFormats
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
#else
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gdk.Structs.ContentFormats as Gdk.ContentFormats
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
#endif
newtype ContentProvider = ContentProvider (SP.ManagedPtr ContentProvider)
deriving (ContentProvider -> ContentProvider -> Bool
(ContentProvider -> ContentProvider -> Bool)
-> (ContentProvider -> ContentProvider -> Bool)
-> Eq ContentProvider
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ContentProvider -> ContentProvider -> Bool
== :: ContentProvider -> ContentProvider -> Bool
$c/= :: ContentProvider -> ContentProvider -> Bool
/= :: ContentProvider -> ContentProvider -> Bool
Eq)
instance SP.ManagedPtrNewtype ContentProvider where
toManagedPtr :: ContentProvider -> ManagedPtr ContentProvider
toManagedPtr (ContentProvider ManagedPtr ContentProvider
p) = ManagedPtr ContentProvider
p
foreign import ccall "gdk_content_provider_get_type"
c_gdk_content_provider_get_type :: IO B.Types.GType
instance B.Types.TypedObject ContentProvider where
glibType :: IO GType
glibType = IO GType
c_gdk_content_provider_get_type
instance B.Types.GObject ContentProvider
class (SP.GObject o, O.IsDescendantOf ContentProvider o) => IsContentProvider o
instance (SP.GObject o, O.IsDescendantOf ContentProvider o) => IsContentProvider o
instance O.HasParentTypes ContentProvider
type instance O.ParentTypes ContentProvider = '[GObject.Object.Object]
toContentProvider :: (MIO.MonadIO m, IsContentProvider o) => o -> m ContentProvider
toContentProvider :: forall (m :: * -> *) o.
(MonadIO m, IsContentProvider o) =>
o -> m ContentProvider
toContentProvider = IO ContentProvider -> m ContentProvider
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO ContentProvider -> m ContentProvider)
-> (o -> IO ContentProvider) -> o -> m ContentProvider
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr ContentProvider -> ContentProvider)
-> o -> IO ContentProvider
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr ContentProvider -> ContentProvider
ContentProvider
instance B.GValue.IsGValue (Maybe ContentProvider) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gdk_content_provider_get_type
gvalueSet_ :: Ptr GValue -> Maybe ContentProvider -> IO ()
gvalueSet_ Ptr GValue
gv Maybe ContentProvider
P.Nothing = Ptr GValue -> Ptr ContentProvider -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr ContentProvider
forall a. Ptr a
FP.nullPtr :: FP.Ptr ContentProvider)
gvalueSet_ Ptr GValue
gv (P.Just ContentProvider
obj) = ContentProvider -> (Ptr ContentProvider -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ContentProvider
obj (Ptr GValue -> Ptr ContentProvider -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe ContentProvider)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr ContentProvider)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr ContentProvider)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject ContentProvider ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveContentProviderMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveContentProviderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveContentProviderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveContentProviderMethod "contentChanged" o = ContentProviderContentChangedMethodInfo
ResolveContentProviderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveContentProviderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveContentProviderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveContentProviderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveContentProviderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveContentProviderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveContentProviderMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveContentProviderMethod "refFormats" o = ContentProviderRefFormatsMethodInfo
ResolveContentProviderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveContentProviderMethod "refStorableFormats" o = ContentProviderRefStorableFormatsMethodInfo
ResolveContentProviderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveContentProviderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveContentProviderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveContentProviderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveContentProviderMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveContentProviderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveContentProviderMethod "writeMimeTypeAsync" o = ContentProviderWriteMimeTypeAsyncMethodInfo
ResolveContentProviderMethod "writeMimeTypeFinish" o = ContentProviderWriteMimeTypeFinishMethodInfo
ResolveContentProviderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveContentProviderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveContentProviderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveContentProviderMethod "getValue" o = ContentProviderGetValueMethodInfo
ResolveContentProviderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveContentProviderMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveContentProviderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveContentProviderMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveContentProviderMethod t ContentProvider, O.OverloadedMethod info ContentProvider p) => OL.IsLabel t (ContentProvider -> 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 ~ ResolveContentProviderMethod t ContentProvider, O.OverloadedMethod info ContentProvider p, R.HasField t ContentProvider p) => R.HasField t ContentProvider p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveContentProviderMethod t ContentProvider, O.OverloadedMethodInfo info ContentProvider) => OL.IsLabel t (O.MethodProxy info ContentProvider) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type ContentProviderContentChangedCallback =
IO ()
type C_ContentProviderContentChangedCallback =
Ptr ContentProvider ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ContentProviderContentChangedCallback :: C_ContentProviderContentChangedCallback -> IO (FunPtr C_ContentProviderContentChangedCallback)
wrap_ContentProviderContentChangedCallback ::
GObject a => (a -> ContentProviderContentChangedCallback) ->
C_ContentProviderContentChangedCallback
wrap_ContentProviderContentChangedCallback :: forall a.
GObject a =>
(a -> IO ()) -> C_ContentProviderContentChangedCallback
wrap_ContentProviderContentChangedCallback a -> IO ()
gi'cb Ptr ContentProvider
gi'selfPtr Ptr ()
_ = do
Ptr ContentProvider -> (ContentProvider -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr ContentProvider
gi'selfPtr ((ContentProvider -> IO ()) -> IO ())
-> (ContentProvider -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ContentProvider
gi'self -> a -> IO ()
gi'cb (ContentProvider -> a
forall a b. Coercible a b => a -> b
Coerce.coerce ContentProvider
gi'self)
onContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ((?self :: a) => ContentProviderContentChangedCallback) -> m SignalHandlerId
onContentProviderContentChanged :: forall a (m :: * -> *).
(IsContentProvider a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
onContentProviderContentChanged a
obj (?self::a) => IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_ContentProviderContentChangedCallback
wrapped' = (a -> IO ()) -> C_ContentProviderContentChangedCallback
forall a.
GObject a =>
(a -> IO ()) -> C_ContentProviderContentChangedCallback
wrap_ContentProviderContentChangedCallback a -> IO ()
wrapped
wrapped'' <- C_ContentProviderContentChangedCallback
-> IO (FunPtr C_ContentProviderContentChangedCallback)
mk_ContentProviderContentChangedCallback C_ContentProviderContentChangedCallback
wrapped'
connectSignalFunPtr obj "content-changed" wrapped'' SignalConnectBefore Nothing
afterContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ((?self :: a) => ContentProviderContentChangedCallback) -> m SignalHandlerId
afterContentProviderContentChanged :: forall a (m :: * -> *).
(IsContentProvider a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
afterContentProviderContentChanged a
obj (?self::a) => IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_ContentProviderContentChangedCallback
wrapped' = (a -> IO ()) -> C_ContentProviderContentChangedCallback
forall a.
GObject a =>
(a -> IO ()) -> C_ContentProviderContentChangedCallback
wrap_ContentProviderContentChangedCallback a -> IO ()
wrapped
wrapped'' <- C_ContentProviderContentChangedCallback
-> IO (FunPtr C_ContentProviderContentChangedCallback)
mk_ContentProviderContentChangedCallback C_ContentProviderContentChangedCallback
wrapped'
connectSignalFunPtr obj "content-changed" wrapped'' SignalConnectAfter Nothing
#if defined(ENABLE_OVERLOADING)
data ContentProviderContentChangedSignalInfo
instance SignalInfo ContentProviderContentChangedSignalInfo where
type HaskellCallbackType ContentProviderContentChangedSignalInfo = ContentProviderContentChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ContentProviderContentChangedCallback cb
cb'' <- mk_ContentProviderContentChangedCallback cb'
connectSignalFunPtr obj "content-changed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider::content-changed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#g:signal:contentChanged"})
#endif
getContentProviderFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe Gdk.ContentFormats.ContentFormats)
getContentProviderFormats :: forall (m :: * -> *) o.
(MonadIO m, IsContentProvider o) =>
o -> m (Maybe ContentFormats)
getContentProviderFormats o
obj = IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe ContentFormats) -> m (Maybe ContentFormats))
-> IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr ContentFormats -> ContentFormats)
-> IO (Maybe ContentFormats)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"formats" ManagedPtr ContentFormats -> ContentFormats
Gdk.ContentFormats.ContentFormats
#if defined(ENABLE_OVERLOADING)
data ContentProviderFormatsPropertyInfo
instance AttrInfo ContentProviderFormatsPropertyInfo where
type AttrAllowedOps ContentProviderFormatsPropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ContentProviderFormatsPropertyInfo = IsContentProvider
type AttrSetTypeConstraint ContentProviderFormatsPropertyInfo = (~) ()
type AttrTransferTypeConstraint ContentProviderFormatsPropertyInfo = (~) ()
type AttrTransferType ContentProviderFormatsPropertyInfo = ()
type AttrGetType ContentProviderFormatsPropertyInfo = (Maybe Gdk.ContentFormats.ContentFormats)
type AttrLabel ContentProviderFormatsPropertyInfo = "formats"
type AttrOrigin ContentProviderFormatsPropertyInfo = ContentProvider
attrGet = getContentProviderFormats
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.formats"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#g:attr:formats"
})
#endif
getContentProviderStorableFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe Gdk.ContentFormats.ContentFormats)
getContentProviderStorableFormats :: forall (m :: * -> *) o.
(MonadIO m, IsContentProvider o) =>
o -> m (Maybe ContentFormats)
getContentProviderStorableFormats o
obj = IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe ContentFormats) -> m (Maybe ContentFormats))
-> IO (Maybe ContentFormats) -> m (Maybe ContentFormats)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr ContentFormats -> ContentFormats)
-> IO (Maybe ContentFormats)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"storable-formats" ManagedPtr ContentFormats -> ContentFormats
Gdk.ContentFormats.ContentFormats
#if defined(ENABLE_OVERLOADING)
data ContentProviderStorableFormatsPropertyInfo
instance AttrInfo ContentProviderStorableFormatsPropertyInfo where
type AttrAllowedOps ContentProviderStorableFormatsPropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ContentProviderStorableFormatsPropertyInfo = IsContentProvider
type AttrSetTypeConstraint ContentProviderStorableFormatsPropertyInfo = (~) ()
type AttrTransferTypeConstraint ContentProviderStorableFormatsPropertyInfo = (~) ()
type AttrTransferType ContentProviderStorableFormatsPropertyInfo = ()
type AttrGetType ContentProviderStorableFormatsPropertyInfo = (Maybe Gdk.ContentFormats.ContentFormats)
type AttrLabel ContentProviderStorableFormatsPropertyInfo = "storable-formats"
type AttrOrigin ContentProviderStorableFormatsPropertyInfo = ContentProvider
attrGet = getContentProviderStorableFormats
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.storableFormats"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#g:attr:storableFormats"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ContentProvider
type instance O.AttributeList ContentProvider = ContentProviderAttributeList
type ContentProviderAttributeList = ('[ '("formats", ContentProviderFormatsPropertyInfo), '("storableFormats", ContentProviderStorableFormatsPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
contentProviderFormats :: AttrLabelProxy "formats"
contentProviderFormats = AttrLabelProxy
contentProviderStorableFormats :: AttrLabelProxy "storableFormats"
contentProviderStorableFormats = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList ContentProvider = ContentProviderSignalList
type ContentProviderSignalList = ('[ '("contentChanged", ContentProviderContentChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gdk_content_provider_new_for_bytes" gdk_content_provider_new_for_bytes ::
CString ->
Ptr GLib.Bytes.Bytes ->
IO (Ptr ContentProvider)
contentProviderNewForBytes ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> GLib.Bytes.Bytes
-> m ContentProvider
contentProviderNewForBytes :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> Bytes -> m ContentProvider
contentProviderNewForBytes Text
mimeType Bytes
bytes = IO ContentProvider -> m ContentProvider
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ContentProvider -> m ContentProvider)
-> IO ContentProvider -> m ContentProvider
forall a b. (a -> b) -> a -> b
$ do
mimeType' <- Text -> IO CString
textToCString Text
mimeType
bytes' <- unsafeManagedPtrGetPtr bytes
result <- gdk_content_provider_new_for_bytes mimeType' bytes'
checkUnexpectedReturnNULL "contentProviderNewForBytes" result
result' <- (wrapObject ContentProvider) result
touchManagedPtr bytes
freeMem mimeType'
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gdk_content_provider_new_for_value" gdk_content_provider_new_for_value ::
Ptr GValue ->
IO (Ptr ContentProvider)
contentProviderNewForValue ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m ContentProvider
contentProviderNewForValue :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m ContentProvider
contentProviderNewForValue GValue
value = IO ContentProvider -> m ContentProvider
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ContentProvider -> m ContentProvider)
-> IO ContentProvider -> m ContentProvider
forall a b. (a -> b) -> a -> b
$ do
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
result <- gdk_content_provider_new_for_value value'
checkUnexpectedReturnNULL "contentProviderNewForValue" result
result' <- (wrapObject ContentProvider) result
touchManagedPtr value
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gdk_content_provider_new_union" gdk_content_provider_new_union ::
Ptr (Ptr ContentProvider) ->
FCT.CSize ->
IO (Ptr ContentProvider)
contentProviderNewUnion ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe ([ContentProvider])
-> m ContentProvider
contentProviderNewUnion :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe [ContentProvider] -> m ContentProvider
contentProviderNewUnion Maybe [ContentProvider]
providers = IO ContentProvider -> m ContentProvider
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ContentProvider -> m ContentProvider)
-> IO ContentProvider -> m ContentProvider
forall a b. (a -> b) -> a -> b
$ do
let nProviders :: CSize
nProviders = case Maybe [ContentProvider]
providers of
Maybe [ContentProvider]
Nothing -> CSize
0
Just [ContentProvider]
jProviders -> Int -> CSize
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CSize) -> Int -> CSize
forall a b. (a -> b) -> a -> b
$ [ContentProvider] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [ContentProvider]
jProviders
maybeProviders <- case Maybe [ContentProvider]
providers of
Maybe [ContentProvider]
Nothing -> Ptr (Ptr ContentProvider) -> IO (Ptr (Ptr ContentProvider))
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr (Ptr ContentProvider)
forall a. Ptr a
FP.nullPtr
Just [ContentProvider]
jProviders -> do
jProviders' <- (ContentProvider -> IO (Ptr ContentProvider))
-> [ContentProvider] -> IO [Ptr ContentProvider]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
mapM ContentProvider -> IO (Ptr ContentProvider)
forall a b. (HasCallStack, GObject a) => a -> IO (Ptr b)
B.ManagedPtr.disownObject [ContentProvider]
jProviders
jProviders'' <- packPtrArray jProviders'
return jProviders''
result <- gdk_content_provider_new_union maybeProviders nProviders
checkUnexpectedReturnNULL "contentProviderNewUnion" result
result' <- (wrapObject ContentProvider) result
whenJust providers (mapM_ touchManagedPtr)
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gdk_content_provider_content_changed" gdk_content_provider_content_changed ::
Ptr ContentProvider ->
IO ()
contentProviderContentChanged ::
(B.CallStack.HasCallStack, MonadIO m, IsContentProvider a) =>
a
-> m ()
contentProviderContentChanged :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsContentProvider a) =>
a -> m ()
contentProviderContentChanged a
provider = 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
provider' <- a -> IO (Ptr ContentProvider)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
provider
gdk_content_provider_content_changed provider'
touchManagedPtr provider
return ()
#if defined(ENABLE_OVERLOADING)
data ContentProviderContentChangedMethodInfo
instance (signature ~ (m ()), MonadIO m, IsContentProvider a) => O.OverloadedMethod ContentProviderContentChangedMethodInfo a signature where
overloadedMethod = contentProviderContentChanged
instance O.OverloadedMethodInfo ContentProviderContentChangedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.contentProviderContentChanged",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#v:contentProviderContentChanged"
})
#endif
foreign import ccall "gdk_content_provider_get_value" gdk_content_provider_get_value ::
Ptr ContentProvider ->
Ptr GValue ->
Ptr (Ptr GError) ->
IO CInt
contentProviderGetValue ::
(B.CallStack.HasCallStack, MonadIO m, IsContentProvider a) =>
a
-> GValue
-> m ()
contentProviderGetValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsContentProvider a) =>
a -> GValue -> m ()
contentProviderGetValue a
provider GValue
value = 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
provider' <- a -> IO (Ptr ContentProvider)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
provider
value' <- unsafeManagedPtrGetPtr value
onException (do
_ <- propagateGError $ gdk_content_provider_get_value provider' value'
touchManagedPtr provider
touchManagedPtr value
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING)
data ContentProviderGetValueMethodInfo
instance (signature ~ (GValue -> m ()), MonadIO m, IsContentProvider a) => O.OverloadedMethod ContentProviderGetValueMethodInfo a signature where
overloadedMethod = contentProviderGetValue
instance O.OverloadedMethodInfo ContentProviderGetValueMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.contentProviderGetValue",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#v:contentProviderGetValue"
})
#endif
foreign import ccall "gdk_content_provider_ref_formats" gdk_content_provider_ref_formats ::
Ptr ContentProvider ->
IO (Ptr Gdk.ContentFormats.ContentFormats)
contentProviderRefFormats ::
(B.CallStack.HasCallStack, MonadIO m, IsContentProvider a) =>
a
-> m Gdk.ContentFormats.ContentFormats
contentProviderRefFormats :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsContentProvider a) =>
a -> m ContentFormats
contentProviderRefFormats a
provider = IO ContentFormats -> m ContentFormats
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ContentFormats -> m ContentFormats)
-> IO ContentFormats -> m ContentFormats
forall a b. (a -> b) -> a -> b
$ do
provider' <- a -> IO (Ptr ContentProvider)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
provider
result <- gdk_content_provider_ref_formats provider'
checkUnexpectedReturnNULL "contentProviderRefFormats" result
result' <- (wrapBoxed Gdk.ContentFormats.ContentFormats) result
touchManagedPtr provider
return result'
#if defined(ENABLE_OVERLOADING)
data ContentProviderRefFormatsMethodInfo
instance (signature ~ (m Gdk.ContentFormats.ContentFormats), MonadIO m, IsContentProvider a) => O.OverloadedMethod ContentProviderRefFormatsMethodInfo a signature where
overloadedMethod = contentProviderRefFormats
instance O.OverloadedMethodInfo ContentProviderRefFormatsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.contentProviderRefFormats",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#v:contentProviderRefFormats"
})
#endif
foreign import ccall "gdk_content_provider_ref_storable_formats" gdk_content_provider_ref_storable_formats ::
Ptr ContentProvider ->
IO (Ptr Gdk.ContentFormats.ContentFormats)
contentProviderRefStorableFormats ::
(B.CallStack.HasCallStack, MonadIO m, IsContentProvider a) =>
a
-> m Gdk.ContentFormats.ContentFormats
contentProviderRefStorableFormats :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsContentProvider a) =>
a -> m ContentFormats
contentProviderRefStorableFormats a
provider = IO ContentFormats -> m ContentFormats
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ContentFormats -> m ContentFormats)
-> IO ContentFormats -> m ContentFormats
forall a b. (a -> b) -> a -> b
$ do
provider' <- a -> IO (Ptr ContentProvider)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
provider
result <- gdk_content_provider_ref_storable_formats provider'
checkUnexpectedReturnNULL "contentProviderRefStorableFormats" result
result' <- (wrapBoxed Gdk.ContentFormats.ContentFormats) result
touchManagedPtr provider
return result'
#if defined(ENABLE_OVERLOADING)
data ContentProviderRefStorableFormatsMethodInfo
instance (signature ~ (m Gdk.ContentFormats.ContentFormats), MonadIO m, IsContentProvider a) => O.OverloadedMethod ContentProviderRefStorableFormatsMethodInfo a signature where
overloadedMethod = contentProviderRefStorableFormats
instance O.OverloadedMethodInfo ContentProviderRefStorableFormatsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.contentProviderRefStorableFormats",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#v:contentProviderRefStorableFormats"
})
#endif
foreign import ccall "gdk_content_provider_write_mime_type_async" gdk_content_provider_write_mime_type_async ::
Ptr ContentProvider ->
CString ->
Ptr Gio.OutputStream.OutputStream ->
Int32 ->
Ptr Gio.Cancellable.Cancellable ->
FunPtr Gio.Callbacks.C_AsyncReadyCallback ->
Ptr () ->
IO ()
contentProviderWriteMimeTypeAsync ::
(B.CallStack.HasCallStack, MonadIO m, IsContentProvider a, Gio.OutputStream.IsOutputStream b, Gio.Cancellable.IsCancellable c) =>
a
-> T.Text
-> b
-> Int32
-> Maybe (c)
-> Maybe (Gio.Callbacks.AsyncReadyCallback)
-> m ()
contentProviderWriteMimeTypeAsync :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsContentProvider a, IsOutputStream b,
IsCancellable c) =>
a
-> Text
-> b
-> Int32
-> Maybe c
-> Maybe AsyncReadyCallback
-> m ()
contentProviderWriteMimeTypeAsync a
provider Text
mimeType b
stream Int32
ioPriority Maybe c
cancellable Maybe AsyncReadyCallback
callback = 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
provider' <- a -> IO (Ptr ContentProvider)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
provider
mimeType' <- textToCString mimeType
stream' <- unsafeManagedPtrCastPtr stream
maybeCancellable <- case cancellable of
Maybe c
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
FP.nullPtr
Just c
jCancellable -> do
jCancellable' <- c -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jCancellable
return jCancellable'
maybeCallback <- case callback of
Maybe AsyncReadyCallback
Nothing -> FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_AsyncReadyCallback
forall a. FunPtr a
FP.nullFunPtr
Just AsyncReadyCallback
jCallback -> do
ptrcallback <- IO (Ptr (FunPtr C_AsyncReadyCallback))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
poke ptrcallback jCallback'
return jCallback'
let userData = Ptr a
forall a. Ptr a
nullPtr
gdk_content_provider_write_mime_type_async provider' mimeType' stream' ioPriority maybeCancellable maybeCallback userData
touchManagedPtr provider
touchManagedPtr stream
whenJust cancellable touchManagedPtr
freeMem mimeType'
return ()
#if defined(ENABLE_OVERLOADING)
data ContentProviderWriteMimeTypeAsyncMethodInfo
instance (signature ~ (T.Text -> b -> Int32 -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsContentProvider a, Gio.OutputStream.IsOutputStream b, Gio.Cancellable.IsCancellable c) => O.OverloadedMethod ContentProviderWriteMimeTypeAsyncMethodInfo a signature where
overloadedMethod = contentProviderWriteMimeTypeAsync
instance O.OverloadedMethodInfo ContentProviderWriteMimeTypeAsyncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.contentProviderWriteMimeTypeAsync",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#v:contentProviderWriteMimeTypeAsync"
})
#endif
foreign import ccall "gdk_content_provider_write_mime_type_finish" gdk_content_provider_write_mime_type_finish ::
Ptr ContentProvider ->
Ptr Gio.AsyncResult.AsyncResult ->
Ptr (Ptr GError) ->
IO CInt
contentProviderWriteMimeTypeFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsContentProvider a, Gio.AsyncResult.IsAsyncResult b) =>
a
-> b
-> m ()
contentProviderWriteMimeTypeFinish :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsContentProvider a, IsAsyncResult b) =>
a -> b -> m ()
contentProviderWriteMimeTypeFinish a
provider b
result_ = 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
provider' <- a -> IO (Ptr ContentProvider)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
provider
result_' <- unsafeManagedPtrCastPtr result_
onException (do
_ <- propagateGError $ gdk_content_provider_write_mime_type_finish provider' result_'
touchManagedPtr provider
touchManagedPtr result_
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING)
data ContentProviderWriteMimeTypeFinishMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsContentProvider a, Gio.AsyncResult.IsAsyncResult b) => O.OverloadedMethod ContentProviderWriteMimeTypeFinishMethodInfo a signature where
overloadedMethod = contentProviderWriteMimeTypeFinish
instance O.OverloadedMethodInfo ContentProviderWriteMimeTypeFinishMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.ContentProvider.contentProviderWriteMimeTypeFinish",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-ContentProvider.html#v:contentProviderWriteMimeTypeFinish"
})
#endif