gio/auto/
simple_io_stream.rs1use gio_sys;
6use glib::object::Cast;
7use glib::object::IsA;
8use glib::translate::*;
9use std::fmt;
10use IOStream;
11#[cfg(any(feature = "v2_44", feature = "dox"))]
12use InputStream;
13#[cfg(any(feature = "v2_44", feature = "dox"))]
14use OutputStream;
15
16glib_wrapper! {
17 pub struct SimpleIOStream(Object<gio_sys::GSimpleIOStream, SimpleIOStreamClass>) @extends IOStream;
18
19 match fn {
20 get_type => || gio_sys::g_simple_io_stream_get_type(),
21 }
22}
23
24impl SimpleIOStream {
25 #[cfg(any(feature = "v2_44", feature = "dox"))]
26 pub fn new<P: IsA<InputStream>, Q: IsA<OutputStream>>(
27 input_stream: &P,
28 output_stream: &Q,
29 ) -> SimpleIOStream {
30 unsafe {
31 IOStream::from_glib_full(gio_sys::g_simple_io_stream_new(
32 input_stream.as_ref().to_glib_none().0,
33 output_stream.as_ref().to_glib_none().0,
34 ))
35 .unsafe_cast()
36 }
37 }
38}
39
40impl fmt::Display for SimpleIOStream {
41 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
42 write!(f, "SimpleIOStream")
43 }
44}