module GI.Gio.Objects.UnixOutputStream
(
UnixOutputStream(..) ,
IsUnixOutputStream ,
toUnixOutputStream ,
noUnixOutputStream ,
UnixOutputStreamGetCloseFdMethodInfo ,
unixOutputStreamGetCloseFd ,
UnixOutputStreamGetFdMethodInfo ,
unixOutputStreamGetFd ,
unixOutputStreamNew ,
UnixOutputStreamSetCloseFdMethodInfo ,
unixOutputStreamSetCloseFd ,
UnixOutputStreamCloseFdPropertyInfo ,
constructUnixOutputStreamCloseFd ,
getUnixOutputStreamCloseFd ,
setUnixOutputStreamCloseFd ,
unixOutputStreamCloseFd ,
UnixOutputStreamFdPropertyInfo ,
constructUnixOutputStreamFd ,
getUnixOutputStreamFd ,
unixOutputStreamFd ,
) 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.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 qualified GI.Gio.Interfaces.FileDescriptorBased as Gio.FileDescriptorBased
import qualified GI.Gio.Interfaces.PollableOutputStream as Gio.PollableOutputStream
import 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 (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 :: IsUnixOutputStream o => o -> IO UnixOutputStream
toUnixOutputStream = unsafeCastTo UnixOutputStream
noUnixOutputStream :: Maybe UnixOutputStream
noUnixOutputStream = Nothing
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveUnixOutputStreamMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#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
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
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
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
instance O.HasAttributeList UnixOutputStream
type instance O.AttributeList UnixOutputStream = UnixOutputStreamAttributeList
type UnixOutputStreamAttributeList = ('[ '("closeFd", UnixOutputStreamCloseFdPropertyInfo), '("fd", UnixOutputStreamFdPropertyInfo)] :: [(Symbol, *)])
unixOutputStreamCloseFd :: AttrLabelProxy "closeFd"
unixOutputStreamCloseFd = AttrLabelProxy
unixOutputStreamFd :: AttrLabelProxy "fd"
unixOutputStreamFd = AttrLabelProxy
type instance O.SignalList UnixOutputStream = UnixOutputStreamSignalList
type UnixOutputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
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'
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'
data UnixOutputStreamGetCloseFdMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsUnixOutputStream a) => O.MethodInfo UnixOutputStreamGetCloseFdMethodInfo a signature where
overloadedMethod _ = unixOutputStreamGetCloseFd
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
data UnixOutputStreamGetFdMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsUnixOutputStream a) => O.MethodInfo UnixOutputStreamGetFdMethodInfo a signature where
overloadedMethod _ = unixOutputStreamGetFd
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 ()
data UnixOutputStreamSetCloseFdMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsUnixOutputStream a) => O.MethodInfo UnixOutputStreamSetCloseFdMethodInfo a signature where
overloadedMethod _ = unixOutputStreamSetCloseFd