use crate::{IOStream, InputStream, OutputStream};
use glib::{prelude::*, translate::*};
use std::fmt;
glib::wrapper! {
#[doc(alias = "GSimpleIOStream")]
pub struct SimpleIOStream(Object<ffi::GSimpleIOStream>) @extends IOStream;
match fn {
type_ => || ffi::g_simple_io_stream_get_type(),
}
}
impl SimpleIOStream {
#[doc(alias = "g_simple_io_stream_new")]
pub fn new(
input_stream: &impl IsA<InputStream>,
output_stream: &impl IsA<OutputStream>,
) -> SimpleIOStream {
unsafe {
IOStream::from_glib_full(ffi::g_simple_io_stream_new(
input_stream.as_ref().to_glib_none().0,
output_stream.as_ref().to_glib_none().0,
))
.unsafe_cast()
}
}
}
impl fmt::Display for SimpleIOStream {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str("SimpleIOStream")
}
}