Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
GSimpleIOStream creates a IOStream
from an arbitrary InputStream
and
OutputStream
. This allows any pair of input and output streams to be used
with IOStream
methods.
This is useful when you obtained a InputStream
and a OutputStream
by other means, for instance creating them with platform specific methods as
unixInputStreamNew
or g_win32_input_stream_new()
, and you want
to take advantage of the methods provided by IOStream
.
- newtype SimpleIOStream = SimpleIOStream (ManagedPtr SimpleIOStream)
- class GObject o => IsSimpleIOStream o
- toSimpleIOStream :: (MonadIO m, IsSimpleIOStream o) => o -> m SimpleIOStream
- noSimpleIOStream :: Maybe SimpleIOStream
- simpleIOStreamNew :: (HasCallStack, MonadIO m, IsInputStream a, IsOutputStream b) => a -> b -> m SimpleIOStream
- constructSimpleIOStreamInputStream :: (IsSimpleIOStream o, IsInputStream a) => a -> IO (GValueConstruct o)
- getSimpleIOStreamInputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe InputStream)
- constructSimpleIOStreamOutputStream :: (IsSimpleIOStream o, IsOutputStream a) => a -> IO (GValueConstruct o)
- getSimpleIOStreamOutputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe OutputStream)
Exported types
newtype SimpleIOStream Source #
class GObject o => IsSimpleIOStream o Source #
toSimpleIOStream :: (MonadIO m, IsSimpleIOStream o) => o -> m SimpleIOStream Source #
Methods
new
:: (HasCallStack, MonadIO m, IsInputStream a, IsOutputStream b) | |
=> a |
|
-> b |
|
-> m SimpleIOStream | Returns: a new |
Creates a new SimpleIOStream
wrapping inputStream
and outputStream
.
See also IOStream
.
Since: 2.44
Properties
inputStream
constructSimpleIOStreamInputStream :: (IsSimpleIOStream o, IsInputStream a) => a -> IO (GValueConstruct o) Source #
getSimpleIOStreamInputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe InputStream) Source #
outputStream
constructSimpleIOStreamOutputStream :: (IsSimpleIOStream o, IsOutputStream a) => a -> IO (GValueConstruct o) Source #
getSimpleIOStreamOutputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe OutputStream) Source #