1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
// This file was generated by gir (https://github.com/gtk-rs/gir @ fe7a6ff+) // from gir-files (https://github.com/gtk-rs/gir-files @ b215ee8) // DO NOT EDIT use Error; use Stream; use ffi; use glib::object::IsA; use glib::translate::*; use glib_ffi; use gobject_ffi; use std::mem; use std::ptr; glib_wrapper! { /// A `Stream` wrapper around standard-c FILE pointers. /// /// # Implements /// /// [`StreamFileExt`](trait.StreamFileExt.html), [`StreamExt`](trait.StreamExt.html) pub struct StreamFile(Object<ffi::GMimeStreamFile, ffi::GMimeStreamFileClass>): Stream; match fn { get_type => || ffi::g_mime_stream_file_get_type(), } } impl StreamFile { //pub fn new<P: Into<Option</*Unimplemented*/Fundamental: Pointer>>>(fp: P) -> StreamFile { // unsafe { TODO: call ffi::g_mime_stream_file_new() } //} //pub fn new_with_bounds<P: Into<Option</*Unimplemented*/Fundamental: Pointer>>>(fp: P, start: i64, end: i64) -> StreamFile { // unsafe { TODO: call ffi::g_mime_stream_file_new_with_bounds() } //} /// Creates a new `StreamFile` object for the specified `path`. /// ## `path` /// the path to a file /// ## `mode` /// as in fopen(3) /// /// # Returns /// /// a stream using for reading and/or writing to the /// specified file path or `None` on error. pub fn open(path: &str, mode: &str) -> Result<Stream, Error> { unsafe { let mut error = ptr::null_mut(); let ret = ffi::g_mime_stream_file_open(path.to_glib_none().0, mode.to_glib_none().0, &mut error); if error.is_null() { Ok(from_glib_full(ret)) } else { Err(from_glib_full(error)) } } } } /// Trait containing all `StreamFile` methods. /// /// # Implementors /// /// [`StreamFile`](struct.StreamFile.html) pub trait StreamFileExt { /// Gets whether or not `self` owns the backend FILE pointer. /// /// # Returns /// /// `true` if `self` owns the backend FILE pointer or `false` /// otherwise. fn get_owner(&self) -> bool; /// Sets whether or not `self` owns the backend FILE pointer. /// /// Note: `owner` should be `true` if the stream should `fclose` the /// backend FILE pointer when destroyed or `false` otherwise. /// ## `owner` /// `true` if this stream should own the FILE pointer or `false` otherwise fn set_owner(&self, owner: bool); } impl<O: IsA<StreamFile>> StreamFileExt for O { fn get_owner(&self) -> bool { unsafe { from_glib(ffi::g_mime_stream_file_get_owner(self.to_glib_none().0)) } } fn set_owner(&self, owner: bool) { unsafe { ffi::g_mime_stream_file_set_owner(self.to_glib_none().0, owner.to_glib()); } } }