#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gio.Objects.FilterOutputStream
(
FilterOutputStream(..) ,
IsFilterOutputStream ,
toFilterOutputStream ,
noFilterOutputStream ,
#if ENABLE_OVERLOADING
FilterOutputStreamGetBaseStreamMethodInfo,
#endif
filterOutputStreamGetBaseStream ,
#if ENABLE_OVERLOADING
FilterOutputStreamGetCloseBaseStreamMethodInfo,
#endif
filterOutputStreamGetCloseBaseStream ,
#if ENABLE_OVERLOADING
FilterOutputStreamSetCloseBaseStreamMethodInfo,
#endif
filterOutputStreamSetCloseBaseStream ,
#if ENABLE_OVERLOADING
FilterOutputStreamBaseStreamPropertyInfo,
#endif
constructFilterOutputStreamBaseStream ,
#if ENABLE_OVERLOADING
filterOutputStreamBaseStream ,
#endif
getFilterOutputStreamBaseStream ,
#if ENABLE_OVERLOADING
FilterOutputStreamCloseBaseStreamPropertyInfo,
#endif
constructFilterOutputStreamCloseBaseStream,
#if 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
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.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
newtype FilterOutputStream = FilterOutputStream (ManagedPtr FilterOutputStream)
foreign import ccall "g_filter_output_stream_get_type"
c_g_filter_output_stream_get_type :: IO GType
instance GObject FilterOutputStream where
gobjectType _ = c_g_filter_output_stream_get_type
class GObject o => IsFilterOutputStream o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError FilterOutputStream a) =>
IsFilterOutputStream a
#endif
instance IsFilterOutputStream FilterOutputStream
instance Gio.OutputStream.IsOutputStream FilterOutputStream
instance GObject.Object.IsObject FilterOutputStream
toFilterOutputStream :: (MonadIO m, IsFilterOutputStream o) => o -> m FilterOutputStream
toFilterOutputStream = liftIO . unsafeCastTo FilterOutputStream
noFilterOutputStream :: Maybe FilterOutputStream
noFilterOutputStream = Nothing
#if ENABLE_OVERLOADING
type family ResolveFilterOutputStreamMethod (t :: Symbol) (o :: *) :: * 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 "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 "setPending" o = Gio.OutputStream.OutputStreamSetPendingMethodInfo
ResolveFilterOutputStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFilterOutputStreamMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFilterOutputStreamMethod t FilterOutputStream, O.MethodInfo info FilterOutputStream p) => O.IsLabelProxy t (FilterOutputStream -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveFilterOutputStreamMethod t FilterOutputStream, O.MethodInfo info FilterOutputStream p) => O.IsLabel t (FilterOutputStream -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
getFilterOutputStreamBaseStream :: (MonadIO m, IsFilterOutputStream o) => o -> m Gio.OutputStream.OutputStream
getFilterOutputStreamBaseStream obj = liftIO $ checkUnexpectedNothing "getFilterOutputStreamBaseStream" $ getObjectPropertyObject obj "base-stream" Gio.OutputStream.OutputStream
constructFilterOutputStreamBaseStream :: (IsFilterOutputStream o, Gio.OutputStream.IsOutputStream a) => a -> IO (GValueConstruct o)
constructFilterOutputStreamBaseStream val = constructObjectPropertyObject "base-stream" (Just val)
#if ENABLE_OVERLOADING
data FilterOutputStreamBaseStreamPropertyInfo
instance AttrInfo FilterOutputStreamBaseStreamPropertyInfo where
type AttrAllowedOps FilterOutputStreamBaseStreamPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint FilterOutputStreamBaseStreamPropertyInfo = Gio.OutputStream.IsOutputStream
type AttrBaseTypeConstraint FilterOutputStreamBaseStreamPropertyInfo = IsFilterOutputStream
type AttrGetType FilterOutputStreamBaseStreamPropertyInfo = Gio.OutputStream.OutputStream
type AttrLabel FilterOutputStreamBaseStreamPropertyInfo = "base-stream"
type AttrOrigin FilterOutputStreamBaseStreamPropertyInfo = FilterOutputStream
attrGet _ = getFilterOutputStreamBaseStream
attrSet _ = undefined
attrConstruct _ = constructFilterOutputStreamBaseStream
attrClear _ = undefined
#endif
getFilterOutputStreamCloseBaseStream :: (MonadIO m, IsFilterOutputStream o) => o -> m Bool
getFilterOutputStreamCloseBaseStream obj = liftIO $ getObjectPropertyBool obj "close-base-stream"
constructFilterOutputStreamCloseBaseStream :: (IsFilterOutputStream o) => Bool -> IO (GValueConstruct o)
constructFilterOutputStreamCloseBaseStream val = constructObjectPropertyBool "close-base-stream" val
#if ENABLE_OVERLOADING
data FilterOutputStreamCloseBaseStreamPropertyInfo
instance AttrInfo FilterOutputStreamCloseBaseStreamPropertyInfo where
type AttrAllowedOps FilterOutputStreamCloseBaseStreamPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint FilterOutputStreamCloseBaseStreamPropertyInfo = (~) Bool
type AttrBaseTypeConstraint FilterOutputStreamCloseBaseStreamPropertyInfo = IsFilterOutputStream
type AttrGetType FilterOutputStreamCloseBaseStreamPropertyInfo = Bool
type AttrLabel FilterOutputStreamCloseBaseStreamPropertyInfo = "close-base-stream"
type AttrOrigin FilterOutputStreamCloseBaseStreamPropertyInfo = FilterOutputStream
attrGet _ = getFilterOutputStreamCloseBaseStream
attrSet _ = undefined
attrConstruct _ = constructFilterOutputStreamCloseBaseStream
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList FilterOutputStream
type instance O.AttributeList FilterOutputStream = FilterOutputStreamAttributeList
type FilterOutputStreamAttributeList = ('[ '("baseStream", FilterOutputStreamBaseStreamPropertyInfo), '("closeBaseStream", FilterOutputStreamCloseBaseStreamPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
filterOutputStreamBaseStream :: AttrLabelProxy "baseStream"
filterOutputStreamBaseStream = AttrLabelProxy
filterOutputStreamCloseBaseStream :: AttrLabelProxy "closeBaseStream"
filterOutputStreamCloseBaseStream = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList FilterOutputStream = FilterOutputStreamSignalList
type FilterOutputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#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 stream = liftIO $ do
stream' <- unsafeManagedPtrCastPtr stream
result <- g_filter_output_stream_get_base_stream stream'
checkUnexpectedReturnNULL "filterOutputStreamGetBaseStream" result
result' <- (newObject Gio.OutputStream.OutputStream) result
touchManagedPtr stream
return result'
#if ENABLE_OVERLOADING
data FilterOutputStreamGetBaseStreamMethodInfo
instance (signature ~ (m Gio.OutputStream.OutputStream), MonadIO m, IsFilterOutputStream a) => O.MethodInfo FilterOutputStreamGetBaseStreamMethodInfo a signature where
overloadedMethod _ = 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 stream = liftIO $ do
stream' <- unsafeManagedPtrCastPtr stream
result <- g_filter_output_stream_get_close_base_stream stream'
let result' = (/= 0) result
touchManagedPtr stream
return result'
#if ENABLE_OVERLOADING
data FilterOutputStreamGetCloseBaseStreamMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFilterOutputStream a) => O.MethodInfo FilterOutputStreamGetCloseBaseStreamMethodInfo a signature where
overloadedMethod _ = 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 stream closeBase = liftIO $ do
stream' <- unsafeManagedPtrCastPtr stream
let closeBase' = (fromIntegral . fromEnum) closeBase
g_filter_output_stream_set_close_base_stream stream' closeBase'
touchManagedPtr stream
return ()
#if ENABLE_OVERLOADING
data FilterOutputStreamSetCloseBaseStreamMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsFilterOutputStream a) => O.MethodInfo FilterOutputStreamSetCloseBaseStreamMethodInfo a signature where
overloadedMethod _ = filterOutputStreamSetCloseBaseStream
#endif