{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.FilterOutputStream
(
FilterOutputStream(..) ,
IsFilterOutputStream ,
toFilterOutputStream ,
#if defined(ENABLE_OVERLOADING)
ResolveFilterOutputStreamMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FilterOutputStreamGetBaseStreamMethodInfo,
#endif
filterOutputStreamGetBaseStream ,
#if defined(ENABLE_OVERLOADING)
FilterOutputStreamGetCloseBaseStreamMethodInfo,
#endif
filterOutputStreamGetCloseBaseStream ,
#if defined(ENABLE_OVERLOADING)
FilterOutputStreamSetCloseBaseStreamMethodInfo,
#endif
filterOutputStreamSetCloseBaseStream ,
#if defined(ENABLE_OVERLOADING)
FilterOutputStreamBaseStreamPropertyInfo,
#endif
constructFilterOutputStreamBaseStream ,
#if defined(ENABLE_OVERLOADING)
filterOutputStreamBaseStream ,
#endif
getFilterOutputStreamBaseStream ,
#if defined(ENABLE_OVERLOADING)
FilterOutputStreamCloseBaseStreamPropertyInfo,
#endif
constructFilterOutputStreamCloseBaseStream,
#if defined(ENABLE_OVERLOADING)
filterOutputStreamCloseBaseStream ,
#endif
getFilterOutputStreamCloseBaseStream ,
) 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 {-# SOURCE #-} qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
newtype FilterOutputStream = FilterOutputStream (SP.ManagedPtr FilterOutputStream)
deriving (FilterOutputStream -> FilterOutputStream -> Bool
(FilterOutputStream -> FilterOutputStream -> Bool)
-> (FilterOutputStream -> FilterOutputStream -> Bool)
-> Eq FilterOutputStream
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FilterOutputStream -> FilterOutputStream -> Bool
== :: FilterOutputStream -> FilterOutputStream -> Bool
$c/= :: FilterOutputStream -> FilterOutputStream -> Bool
/= :: FilterOutputStream -> FilterOutputStream -> Bool
Eq)
instance SP.ManagedPtrNewtype FilterOutputStream where
toManagedPtr :: FilterOutputStream -> ManagedPtr FilterOutputStream
toManagedPtr (FilterOutputStream ManagedPtr FilterOutputStream
p) = ManagedPtr FilterOutputStream
p
foreign import ccall "g_filter_output_stream_get_type"
c_g_filter_output_stream_get_type :: IO B.Types.GType
instance B.Types.TypedObject FilterOutputStream where
glibType :: IO GType
glibType = IO GType
c_g_filter_output_stream_get_type
instance B.Types.GObject FilterOutputStream
class (SP.GObject o, O.IsDescendantOf FilterOutputStream o) => IsFilterOutputStream o
instance (SP.GObject o, O.IsDescendantOf FilterOutputStream o) => IsFilterOutputStream o
instance O.HasParentTypes FilterOutputStream
type instance O.ParentTypes FilterOutputStream = '[Gio.OutputStream.OutputStream, GObject.Object.Object]
toFilterOutputStream :: (MIO.MonadIO m, IsFilterOutputStream o) => o -> m FilterOutputStream
toFilterOutputStream :: forall (m :: * -> *) o.
(MonadIO m, IsFilterOutputStream o) =>
o -> m FilterOutputStream
toFilterOutputStream = IO FilterOutputStream -> m FilterOutputStream
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO FilterOutputStream -> m FilterOutputStream)
-> (o -> IO FilterOutputStream) -> o -> m FilterOutputStream
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr FilterOutputStream -> FilterOutputStream)
-> o -> IO FilterOutputStream
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr FilterOutputStream -> FilterOutputStream
FilterOutputStream
instance B.GValue.IsGValue (Maybe FilterOutputStream) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_filter_output_stream_get_type
gvalueSet_ :: Ptr GValue -> Maybe FilterOutputStream -> IO ()
gvalueSet_ Ptr GValue
gv Maybe FilterOutputStream
P.Nothing = Ptr GValue -> Ptr FilterOutputStream -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr FilterOutputStream
forall a. Ptr a
FP.nullPtr :: FP.Ptr FilterOutputStream)
gvalueSet_ Ptr GValue
gv (P.Just FilterOutputStream
obj) = FilterOutputStream -> (Ptr FilterOutputStream -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FilterOutputStream
obj (Ptr GValue -> Ptr FilterOutputStream -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe FilterOutputStream)
gvalueGet_ Ptr GValue
gv = do
Ptr FilterOutputStream
ptr <- Ptr GValue -> IO (Ptr FilterOutputStream)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr FilterOutputStream)
if Ptr FilterOutputStream
ptr Ptr FilterOutputStream -> Ptr FilterOutputStream -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr FilterOutputStream
forall a. Ptr a
FP.nullPtr
then FilterOutputStream -> Maybe FilterOutputStream
forall a. a -> Maybe a
P.Just (FilterOutputStream -> Maybe FilterOutputStream)
-> IO FilterOutputStream -> IO (Maybe FilterOutputStream)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr FilterOutputStream -> FilterOutputStream)
-> Ptr FilterOutputStream -> IO FilterOutputStream
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr FilterOutputStream -> FilterOutputStream
FilterOutputStream Ptr FilterOutputStream
ptr
else Maybe FilterOutputStream -> IO (Maybe FilterOutputStream)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe FilterOutputStream
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveFilterOutputStreamMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveFilterOutputStreamMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFilterOutputStreamMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFilterOutputStreamMethod "clearPending" o = Gio.OutputStream.OutputStreamClearPendingMethodInfo
ResolveFilterOutputStreamMethod "close" o = Gio.OutputStream.OutputStreamCloseMethodInfo
ResolveFilterOutputStreamMethod "closeAsync" o = Gio.OutputStream.OutputStreamCloseAsyncMethodInfo
ResolveFilterOutputStreamMethod "closeFinish" o = Gio.OutputStream.OutputStreamCloseFinishMethodInfo
ResolveFilterOutputStreamMethod "flush" o = Gio.OutputStream.OutputStreamFlushMethodInfo
ResolveFilterOutputStreamMethod "flushAsync" o = Gio.OutputStream.OutputStreamFlushAsyncMethodInfo
ResolveFilterOutputStreamMethod "flushFinish" o = Gio.OutputStream.OutputStreamFlushFinishMethodInfo
ResolveFilterOutputStreamMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFilterOutputStreamMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFilterOutputStreamMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveFilterOutputStreamMethod "hasPending" o = Gio.OutputStream.OutputStreamHasPendingMethodInfo
ResolveFilterOutputStreamMethod "isClosed" o = Gio.OutputStream.OutputStreamIsClosedMethodInfo
ResolveFilterOutputStreamMethod "isClosing" o = Gio.OutputStream.OutputStreamIsClosingMethodInfo
ResolveFilterOutputStreamMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFilterOutputStreamMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveFilterOutputStreamMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveFilterOutputStreamMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveFilterOutputStreamMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveFilterOutputStreamMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveFilterOutputStreamMethod "splice" o = Gio.OutputStream.OutputStreamSpliceMethodInfo
ResolveFilterOutputStreamMethod "spliceAsync" o = Gio.OutputStream.OutputStreamSpliceAsyncMethodInfo
ResolveFilterOutputStreamMethod "spliceFinish" o = Gio.OutputStream.OutputStreamSpliceFinishMethodInfo
ResolveFilterOutputStreamMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveFilterOutputStreamMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveFilterOutputStreamMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveFilterOutputStreamMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveFilterOutputStreamMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveFilterOutputStreamMethod "write" o = Gio.OutputStream.OutputStreamWriteMethodInfo
ResolveFilterOutputStreamMethod "writeAll" o = Gio.OutputStream.OutputStreamWriteAllMethodInfo
ResolveFilterOutputStreamMethod "writeAllAsync" o = Gio.OutputStream.OutputStreamWriteAllAsyncMethodInfo
ResolveFilterOutputStreamMethod "writeAllFinish" o = Gio.OutputStream.OutputStreamWriteAllFinishMethodInfo
ResolveFilterOutputStreamMethod "writeAsync" o = Gio.OutputStream.OutputStreamWriteAsyncMethodInfo
ResolveFilterOutputStreamMethod "writeBytes" o = Gio.OutputStream.OutputStreamWriteBytesMethodInfo
ResolveFilterOutputStreamMethod "writeBytesAsync" o = Gio.OutputStream.OutputStreamWriteBytesAsyncMethodInfo
ResolveFilterOutputStreamMethod "writeBytesFinish" o = Gio.OutputStream.OutputStreamWriteBytesFinishMethodInfo
ResolveFilterOutputStreamMethod "writeFinish" o = Gio.OutputStream.OutputStreamWriteFinishMethodInfo
ResolveFilterOutputStreamMethod "writev" o = Gio.OutputStream.OutputStreamWritevMethodInfo
ResolveFilterOutputStreamMethod "writevAll" o = Gio.OutputStream.OutputStreamWritevAllMethodInfo
ResolveFilterOutputStreamMethod "writevAllAsync" o = Gio.OutputStream.OutputStreamWritevAllAsyncMethodInfo
ResolveFilterOutputStreamMethod "writevAllFinish" o = Gio.OutputStream.OutputStreamWritevAllFinishMethodInfo
ResolveFilterOutputStreamMethod "writevAsync" o = Gio.OutputStream.OutputStreamWritevAsyncMethodInfo
ResolveFilterOutputStreamMethod "writevFinish" o = Gio.OutputStream.OutputStreamWritevFinishMethodInfo
ResolveFilterOutputStreamMethod "getBaseStream" o = FilterOutputStreamGetBaseStreamMethodInfo
ResolveFilterOutputStreamMethod "getCloseBaseStream" o = FilterOutputStreamGetCloseBaseStreamMethodInfo
ResolveFilterOutputStreamMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveFilterOutputStreamMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFilterOutputStreamMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFilterOutputStreamMethod "setCloseBaseStream" o = FilterOutputStreamSetCloseBaseStreamMethodInfo
ResolveFilterOutputStreamMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFilterOutputStreamMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveFilterOutputStreamMethod "setPending" o = Gio.OutputStream.OutputStreamSetPendingMethodInfo
ResolveFilterOutputStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFilterOutputStreamMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFilterOutputStreamMethod t FilterOutputStream, O.OverloadedMethod info FilterOutputStream p) => OL.IsLabel t (FilterOutputStream -> 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 ~ ResolveFilterOutputStreamMethod t FilterOutputStream, O.OverloadedMethod info FilterOutputStream p, R.HasField t FilterOutputStream p) => R.HasField t FilterOutputStream p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveFilterOutputStreamMethod t FilterOutputStream, O.OverloadedMethodInfo info FilterOutputStream) => OL.IsLabel t (O.MethodProxy info FilterOutputStream) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getFilterOutputStreamBaseStream :: (MonadIO m, IsFilterOutputStream o) => o -> m Gio.OutputStream.OutputStream
getFilterOutputStreamBaseStream :: forall (m :: * -> *) o.
(MonadIO m, IsFilterOutputStream o) =>
o -> m OutputStream
getFilterOutputStreamBaseStream o
obj = IO OutputStream -> m OutputStream
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO OutputStream -> m OutputStream)
-> IO OutputStream -> m OutputStream
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe OutputStream) -> IO OutputStream
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getFilterOutputStreamBaseStream" (IO (Maybe OutputStream) -> IO OutputStream)
-> IO (Maybe OutputStream) -> IO OutputStream
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr OutputStream -> OutputStream)
-> IO (Maybe OutputStream)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"base-stream" ManagedPtr OutputStream -> OutputStream
Gio.OutputStream.OutputStream
constructFilterOutputStreamBaseStream :: (IsFilterOutputStream o, MIO.MonadIO m, Gio.OutputStream.IsOutputStream a) => a -> m (GValueConstruct o)
constructFilterOutputStreamBaseStream :: forall o (m :: * -> *) a.
(IsFilterOutputStream o, MonadIO m, IsOutputStream a) =>
a -> m (GValueConstruct o)
constructFilterOutputStreamBaseStream a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"base-stream" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data FilterOutputStreamBaseStreamPropertyInfo
instance AttrInfo FilterOutputStreamBaseStreamPropertyInfo where
type AttrAllowedOps FilterOutputStreamBaseStreamPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint FilterOutputStreamBaseStreamPropertyInfo = IsFilterOutputStream
type AttrSetTypeConstraint FilterOutputStreamBaseStreamPropertyInfo = Gio.OutputStream.IsOutputStream
type AttrTransferTypeConstraint FilterOutputStreamBaseStreamPropertyInfo = Gio.OutputStream.IsOutputStream
type AttrTransferType FilterOutputStreamBaseStreamPropertyInfo = Gio.OutputStream.OutputStream
type AttrGetType FilterOutputStreamBaseStreamPropertyInfo = Gio.OutputStream.OutputStream
type AttrLabel FilterOutputStreamBaseStreamPropertyInfo = "base-stream"
type AttrOrigin FilterOutputStreamBaseStreamPropertyInfo = FilterOutputStream
attrGet = getFilterOutputStreamBaseStream
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo Gio.OutputStream.OutputStream v
attrConstruct = constructFilterOutputStreamBaseStream
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.FilterOutputStream.baseStream"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.32/docs/GI-Gio-Objects-FilterOutputStream.html#g:attr:baseStream"
})
#endif
getFilterOutputStreamCloseBaseStream :: (MonadIO m, IsFilterOutputStream o) => o -> m Bool
getFilterOutputStreamCloseBaseStream :: forall (m :: * -> *) o.
(MonadIO m, IsFilterOutputStream o) =>
o -> m Bool
getFilterOutputStreamCloseBaseStream o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"close-base-stream"
constructFilterOutputStreamCloseBaseStream :: (IsFilterOutputStream o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructFilterOutputStreamCloseBaseStream :: forall o (m :: * -> *).
(IsFilterOutputStream o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructFilterOutputStreamCloseBaseStream Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"close-base-stream" Bool
val
#if defined(ENABLE_OVERLOADING)
data FilterOutputStreamCloseBaseStreamPropertyInfo
instance AttrInfo FilterOutputStreamCloseBaseStreamPropertyInfo where
type AttrAllowedOps FilterOutputStreamCloseBaseStreamPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint FilterOutputStreamCloseBaseStreamPropertyInfo = IsFilterOutputStream
type AttrSetTypeConstraint FilterOutputStreamCloseBaseStreamPropertyInfo = (~) Bool
type AttrTransferTypeConstraint FilterOutputStreamCloseBaseStreamPropertyInfo = (~) Bool
type AttrTransferType FilterOutputStreamCloseBaseStreamPropertyInfo = Bool
type AttrGetType FilterOutputStreamCloseBaseStreamPropertyInfo = Bool
type AttrLabel FilterOutputStreamCloseBaseStreamPropertyInfo = "close-base-stream"
type AttrOrigin FilterOutputStreamCloseBaseStreamPropertyInfo = FilterOutputStream
attrGet = getFilterOutputStreamCloseBaseStream
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructFilterOutputStreamCloseBaseStream
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.FilterOutputStream.closeBaseStream"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.32/docs/GI-Gio-Objects-FilterOutputStream.html#g:attr:closeBaseStream"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FilterOutputStream
type instance O.AttributeList FilterOutputStream = FilterOutputStreamAttributeList
type FilterOutputStreamAttributeList = ('[ '("baseStream", FilterOutputStreamBaseStreamPropertyInfo), '("closeBaseStream", FilterOutputStreamCloseBaseStreamPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
filterOutputStreamBaseStream :: AttrLabelProxy "baseStream"
filterOutputStreamBaseStream = AttrLabelProxy
filterOutputStreamCloseBaseStream :: AttrLabelProxy "closeBaseStream"
filterOutputStreamCloseBaseStream = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList FilterOutputStream = FilterOutputStreamSignalList
type FilterOutputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "g_filter_output_stream_get_base_stream" g_filter_output_stream_get_base_stream ::
Ptr FilterOutputStream ->
IO (Ptr Gio.OutputStream.OutputStream)
filterOutputStreamGetBaseStream ::
(B.CallStack.HasCallStack, MonadIO m, IsFilterOutputStream a) =>
a
-> m Gio.OutputStream.OutputStream
filterOutputStreamGetBaseStream :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFilterOutputStream a) =>
a -> m OutputStream
filterOutputStreamGetBaseStream a
stream = IO OutputStream -> m OutputStream
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO OutputStream -> m OutputStream)
-> IO OutputStream -> m OutputStream
forall a b. (a -> b) -> a -> b
$ do
Ptr FilterOutputStream
stream' <- a -> IO (Ptr FilterOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stream
Ptr OutputStream
result <- Ptr FilterOutputStream -> IO (Ptr OutputStream)
g_filter_output_stream_get_base_stream Ptr FilterOutputStream
stream'
Text -> Ptr OutputStream -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"filterOutputStreamGetBaseStream" Ptr OutputStream
result
OutputStream
result' <- ((ManagedPtr OutputStream -> OutputStream)
-> Ptr OutputStream -> IO OutputStream
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr OutputStream -> OutputStream
Gio.OutputStream.OutputStream) Ptr OutputStream
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stream
OutputStream -> IO OutputStream
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return OutputStream
result'
#if defined(ENABLE_OVERLOADING)
data FilterOutputStreamGetBaseStreamMethodInfo
instance (signature ~ (m Gio.OutputStream.OutputStream), MonadIO m, IsFilterOutputStream a) => O.OverloadedMethod FilterOutputStreamGetBaseStreamMethodInfo a signature where
overloadedMethod = filterOutputStreamGetBaseStream
instance O.OverloadedMethodInfo FilterOutputStreamGetBaseStreamMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.FilterOutputStream.filterOutputStreamGetBaseStream",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.32/docs/GI-Gio-Objects-FilterOutputStream.html#v:filterOutputStreamGetBaseStream"
})
#endif
foreign import ccall "g_filter_output_stream_get_close_base_stream" g_filter_output_stream_get_close_base_stream ::
Ptr FilterOutputStream ->
IO CInt
filterOutputStreamGetCloseBaseStream ::
(B.CallStack.HasCallStack, MonadIO m, IsFilterOutputStream a) =>
a
-> m Bool
filterOutputStreamGetCloseBaseStream :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFilterOutputStream a) =>
a -> m Bool
filterOutputStreamGetCloseBaseStream a
stream = 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 FilterOutputStream
stream' <- a -> IO (Ptr FilterOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stream
CInt
result <- Ptr FilterOutputStream -> IO CInt
g_filter_output_stream_get_close_base_stream Ptr FilterOutputStream
stream'
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
stream
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data FilterOutputStreamGetCloseBaseStreamMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFilterOutputStream a) => O.OverloadedMethod FilterOutputStreamGetCloseBaseStreamMethodInfo a signature where
overloadedMethod = filterOutputStreamGetCloseBaseStream
instance O.OverloadedMethodInfo FilterOutputStreamGetCloseBaseStreamMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.FilterOutputStream.filterOutputStreamGetCloseBaseStream",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.32/docs/GI-Gio-Objects-FilterOutputStream.html#v:filterOutputStreamGetCloseBaseStream"
})
#endif
foreign import ccall "g_filter_output_stream_set_close_base_stream" g_filter_output_stream_set_close_base_stream ::
Ptr FilterOutputStream ->
CInt ->
IO ()
filterOutputStreamSetCloseBaseStream ::
(B.CallStack.HasCallStack, MonadIO m, IsFilterOutputStream a) =>
a
-> Bool
-> m ()
filterOutputStreamSetCloseBaseStream :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFilterOutputStream a) =>
a -> Bool -> m ()
filterOutputStreamSetCloseBaseStream a
stream Bool
closeBase = 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 FilterOutputStream
stream' <- a -> IO (Ptr FilterOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stream
let closeBase' :: CInt
closeBase' = (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
closeBase
Ptr FilterOutputStream -> CInt -> IO ()
g_filter_output_stream_set_close_base_stream Ptr FilterOutputStream
stream' CInt
closeBase'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stream
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FilterOutputStreamSetCloseBaseStreamMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsFilterOutputStream a) => O.OverloadedMethod FilterOutputStreamSetCloseBaseStreamMethodInfo a signature where
overloadedMethod = filterOutputStreamSetCloseBaseStream
instance O.OverloadedMethodInfo FilterOutputStreamSetCloseBaseStreamMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.FilterOutputStream.filterOutputStreamSetCloseBaseStream",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.32/docs/GI-Gio-Objects-FilterOutputStream.html#v:filterOutputStreamSetCloseBaseStream"
})
#endif