#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gio.Objects.UnixOutputStream
(
UnixOutputStream(..) ,
IsUnixOutputStream ,
toUnixOutputStream ,
noUnixOutputStream ,
#if ENABLE_OVERLOADING
UnixOutputStreamGetCloseFdMethodInfo ,
#endif
unixOutputStreamGetCloseFd ,
#if ENABLE_OVERLOADING
UnixOutputStreamGetFdMethodInfo ,
#endif
unixOutputStreamGetFd ,
unixOutputStreamNew ,
#if ENABLE_OVERLOADING
UnixOutputStreamSetCloseFdMethodInfo ,
#endif
unixOutputStreamSetCloseFd ,
#if ENABLE_OVERLOADING
UnixOutputStreamCloseFdPropertyInfo ,
#endif
constructUnixOutputStreamCloseFd ,
getUnixOutputStreamCloseFd ,
setUnixOutputStreamCloseFd ,
#if ENABLE_OVERLOADING
unixOutputStreamCloseFd ,
#endif
#if ENABLE_OVERLOADING
UnixOutputStreamFdPropertyInfo ,
#endif
constructUnixOutputStreamFd ,
getUnixOutputStreamFd ,
#if ENABLE_OVERLOADING
unixOutputStreamFd ,
#endif
) 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.Interfaces.FileDescriptorBased as Gio.FileDescriptorBased
import {-# SOURCE #-} qualified GI.Gio.Interfaces.PollableOutputStream as Gio.PollableOutputStream
import {-# SOURCE #-} qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
newtype UnixOutputStream = UnixOutputStream (ManagedPtr UnixOutputStream)
foreign import ccall "g_unix_output_stream_get_type"
c_g_unix_output_stream_get_type :: IO GType
instance GObject UnixOutputStream where
gobjectType _ = c_g_unix_output_stream_get_type
class GObject o => IsUnixOutputStream o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError UnixOutputStream a) =>
IsUnixOutputStream a
#endif
instance IsUnixOutputStream UnixOutputStream
instance Gio.OutputStream.IsOutputStream UnixOutputStream
instance GObject.Object.IsObject UnixOutputStream
instance Gio.FileDescriptorBased.IsFileDescriptorBased UnixOutputStream
instance Gio.PollableOutputStream.IsPollableOutputStream UnixOutputStream
toUnixOutputStream :: (MonadIO m, IsUnixOutputStream o) => o -> m UnixOutputStream
toUnixOutputStream = liftIO . unsafeCastTo UnixOutputStream
noUnixOutputStream :: Maybe UnixOutputStream
noUnixOutputStream = Nothing
#if ENABLE_OVERLOADING
type family ResolveUnixOutputStreamMethod (t :: Symbol) (o :: *) :: * where
ResolveUnixOutputStreamMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveUnixOutputStreamMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveUnixOutputStreamMethod "canPoll" o = Gio.PollableOutputStream.PollableOutputStreamCanPollMethodInfo
ResolveUnixOutputStreamMethod "clearPending" o = Gio.OutputStream.OutputStreamClearPendingMethodInfo
ResolveUnixOutputStreamMethod "close" o = Gio.OutputStream.OutputStreamCloseMethodInfo
ResolveUnixOutputStreamMethod "closeAsync" o = Gio.OutputStream.OutputStreamCloseAsyncMethodInfo
ResolveUnixOutputStreamMethod "closeFinish" o = Gio.OutputStream.OutputStreamCloseFinishMethodInfo
ResolveUnixOutputStreamMethod "createSource" o = Gio.PollableOutputStream.PollableOutputStreamCreateSourceMethodInfo
ResolveUnixOutputStreamMethod "flush" o = Gio.OutputStream.OutputStreamFlushMethodInfo
ResolveUnixOutputStreamMethod "flushAsync" o = Gio.OutputStream.OutputStreamFlushAsyncMethodInfo
ResolveUnixOutputStreamMethod "flushFinish" o = Gio.OutputStream.OutputStreamFlushFinishMethodInfo
ResolveUnixOutputStreamMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveUnixOutputStreamMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveUnixOutputStreamMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveUnixOutputStreamMethod "hasPending" o = Gio.OutputStream.OutputStreamHasPendingMethodInfo
ResolveUnixOutputStreamMethod "isClosed" o = Gio.OutputStream.OutputStreamIsClosedMethodInfo
ResolveUnixOutputStreamMethod "isClosing" o = Gio.OutputStream.OutputStreamIsClosingMethodInfo
ResolveUnixOutputStreamMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveUnixOutputStreamMethod "isWritable" o = Gio.PollableOutputStream.PollableOutputStreamIsWritableMethodInfo
ResolveUnixOutputStreamMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveUnixOutputStreamMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveUnixOutputStreamMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveUnixOutputStreamMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveUnixOutputStreamMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveUnixOutputStreamMethod "splice" o = Gio.OutputStream.OutputStreamSpliceMethodInfo
ResolveUnixOutputStreamMethod "spliceAsync" o = Gio.OutputStream.OutputStreamSpliceAsyncMethodInfo
ResolveUnixOutputStreamMethod "spliceFinish" o = Gio.OutputStream.OutputStreamSpliceFinishMethodInfo
ResolveUnixOutputStreamMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveUnixOutputStreamMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveUnixOutputStreamMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveUnixOutputStreamMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveUnixOutputStreamMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveUnixOutputStreamMethod "write" o = Gio.OutputStream.OutputStreamWriteMethodInfo
ResolveUnixOutputStreamMethod "writeAll" o = Gio.OutputStream.OutputStreamWriteAllMethodInfo
ResolveUnixOutputStreamMethod "writeAllAsync" o = Gio.OutputStream.OutputStreamWriteAllAsyncMethodInfo
ResolveUnixOutputStreamMethod "writeAllFinish" o = Gio.OutputStream.OutputStreamWriteAllFinishMethodInfo
ResolveUnixOutputStreamMethod "writeAsync" o = Gio.OutputStream.OutputStreamWriteAsyncMethodInfo
ResolveUnixOutputStreamMethod "writeBytes" o = Gio.OutputStream.OutputStreamWriteBytesMethodInfo
ResolveUnixOutputStreamMethod "writeBytesAsync" o = Gio.OutputStream.OutputStreamWriteBytesAsyncMethodInfo
ResolveUnixOutputStreamMethod "writeBytesFinish" o = Gio.OutputStream.OutputStreamWriteBytesFinishMethodInfo
ResolveUnixOutputStreamMethod "writeFinish" o = Gio.OutputStream.OutputStreamWriteFinishMethodInfo
ResolveUnixOutputStreamMethod "writeNonblocking" o = Gio.PollableOutputStream.PollableOutputStreamWriteNonblockingMethodInfo
ResolveUnixOutputStreamMethod "getCloseFd" o = UnixOutputStreamGetCloseFdMethodInfo
ResolveUnixOutputStreamMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveUnixOutputStreamMethod "getFd" o = UnixOutputStreamGetFdMethodInfo
ResolveUnixOutputStreamMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveUnixOutputStreamMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveUnixOutputStreamMethod "setCloseFd" o = UnixOutputStreamSetCloseFdMethodInfo
ResolveUnixOutputStreamMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveUnixOutputStreamMethod "setPending" o = Gio.OutputStream.OutputStreamSetPendingMethodInfo
ResolveUnixOutputStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveUnixOutputStreamMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveUnixOutputStreamMethod t UnixOutputStream, O.MethodInfo info UnixOutputStream p) => O.IsLabelProxy t (UnixOutputStream -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveUnixOutputStreamMethod t UnixOutputStream, O.MethodInfo info UnixOutputStream p) => O.IsLabel t (UnixOutputStream -> 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
getUnixOutputStreamCloseFd :: (MonadIO m, IsUnixOutputStream o) => o -> m Bool
getUnixOutputStreamCloseFd obj = liftIO $ getObjectPropertyBool obj "close-fd"
setUnixOutputStreamCloseFd :: (MonadIO m, IsUnixOutputStream o) => o -> Bool -> m ()
setUnixOutputStreamCloseFd obj val = liftIO $ setObjectPropertyBool obj "close-fd" val
constructUnixOutputStreamCloseFd :: (IsUnixOutputStream o) => Bool -> IO (GValueConstruct o)
constructUnixOutputStreamCloseFd val = constructObjectPropertyBool "close-fd" val
#if ENABLE_OVERLOADING
data UnixOutputStreamCloseFdPropertyInfo
instance AttrInfo UnixOutputStreamCloseFdPropertyInfo where
type AttrAllowedOps UnixOutputStreamCloseFdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint UnixOutputStreamCloseFdPropertyInfo = (~) Bool
type AttrBaseTypeConstraint UnixOutputStreamCloseFdPropertyInfo = IsUnixOutputStream
type AttrGetType UnixOutputStreamCloseFdPropertyInfo = Bool
type AttrLabel UnixOutputStreamCloseFdPropertyInfo = "close-fd"
type AttrOrigin UnixOutputStreamCloseFdPropertyInfo = UnixOutputStream
attrGet _ = getUnixOutputStreamCloseFd
attrSet _ = setUnixOutputStreamCloseFd
attrConstruct _ = constructUnixOutputStreamCloseFd
attrClear _ = undefined
#endif
getUnixOutputStreamFd :: (MonadIO m, IsUnixOutputStream o) => o -> m Int32
getUnixOutputStreamFd obj = liftIO $ getObjectPropertyInt32 obj "fd"
constructUnixOutputStreamFd :: (IsUnixOutputStream o) => Int32 -> IO (GValueConstruct o)
constructUnixOutputStreamFd val = constructObjectPropertyInt32 "fd" val
#if ENABLE_OVERLOADING
data UnixOutputStreamFdPropertyInfo
instance AttrInfo UnixOutputStreamFdPropertyInfo where
type AttrAllowedOps UnixOutputStreamFdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint UnixOutputStreamFdPropertyInfo = (~) Int32
type AttrBaseTypeConstraint UnixOutputStreamFdPropertyInfo = IsUnixOutputStream
type AttrGetType UnixOutputStreamFdPropertyInfo = Int32
type AttrLabel UnixOutputStreamFdPropertyInfo = "fd"
type AttrOrigin UnixOutputStreamFdPropertyInfo = UnixOutputStream
attrGet _ = getUnixOutputStreamFd
attrSet _ = undefined
attrConstruct _ = constructUnixOutputStreamFd
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList UnixOutputStream
type instance O.AttributeList UnixOutputStream = UnixOutputStreamAttributeList
type UnixOutputStreamAttributeList = ('[ '("closeFd", UnixOutputStreamCloseFdPropertyInfo), '("fd", UnixOutputStreamFdPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
unixOutputStreamCloseFd :: AttrLabelProxy "closeFd"
unixOutputStreamCloseFd = AttrLabelProxy
unixOutputStreamFd :: AttrLabelProxy "fd"
unixOutputStreamFd = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList UnixOutputStream = UnixOutputStreamSignalList
type UnixOutputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_unix_output_stream_new" g_unix_output_stream_new ::
Int32 ->
CInt ->
IO (Ptr UnixOutputStream)
unixOutputStreamNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Bool
-> m UnixOutputStream
unixOutputStreamNew fd closeFd = liftIO $ do
let closeFd' = (fromIntegral . fromEnum) closeFd
result <- g_unix_output_stream_new fd closeFd'
checkUnexpectedReturnNULL "unixOutputStreamNew" result
result' <- (wrapObject UnixOutputStream) result
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "g_unix_output_stream_get_close_fd" g_unix_output_stream_get_close_fd ::
Ptr UnixOutputStream ->
IO CInt
unixOutputStreamGetCloseFd ::
(B.CallStack.HasCallStack, MonadIO m, IsUnixOutputStream a) =>
a
-> m Bool
unixOutputStreamGetCloseFd stream = liftIO $ do
stream' <- unsafeManagedPtrCastPtr stream
result <- g_unix_output_stream_get_close_fd stream'
let result' = (/= 0) result
touchManagedPtr stream
return result'
#if ENABLE_OVERLOADING
data UnixOutputStreamGetCloseFdMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsUnixOutputStream a) => O.MethodInfo UnixOutputStreamGetCloseFdMethodInfo a signature where
overloadedMethod _ = unixOutputStreamGetCloseFd
#endif
foreign import ccall "g_unix_output_stream_get_fd" g_unix_output_stream_get_fd ::
Ptr UnixOutputStream ->
IO Int32
unixOutputStreamGetFd ::
(B.CallStack.HasCallStack, MonadIO m, IsUnixOutputStream a) =>
a
-> m Int32
unixOutputStreamGetFd stream = liftIO $ do
stream' <- unsafeManagedPtrCastPtr stream
result <- g_unix_output_stream_get_fd stream'
touchManagedPtr stream
return result
#if ENABLE_OVERLOADING
data UnixOutputStreamGetFdMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsUnixOutputStream a) => O.MethodInfo UnixOutputStreamGetFdMethodInfo a signature where
overloadedMethod _ = unixOutputStreamGetFd
#endif
foreign import ccall "g_unix_output_stream_set_close_fd" g_unix_output_stream_set_close_fd ::
Ptr UnixOutputStream ->
CInt ->
IO ()
unixOutputStreamSetCloseFd ::
(B.CallStack.HasCallStack, MonadIO m, IsUnixOutputStream a) =>
a
-> Bool
-> m ()
unixOutputStreamSetCloseFd stream closeFd = liftIO $ do
stream' <- unsafeManagedPtrCastPtr stream
let closeFd' = (fromIntegral . fromEnum) closeFd
g_unix_output_stream_set_close_fd stream' closeFd'
touchManagedPtr stream
return ()
#if ENABLE_OVERLOADING
data UnixOutputStreamSetCloseFdMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsUnixOutputStream a) => O.MethodInfo UnixOutputStreamSetCloseFdMethodInfo a signature where
overloadedMethod _ = unixOutputStreamSetCloseFd
#endif