1 // This file was generated by gir (https://github.com/gtk-rs/gir) 2 // from gir-files (https://github.com/gtk-rs/gir-files) 3 // DO NOT EDIT 4 5 use glib; 6 use glib::object::IsA; 7 use glib::translate::*; 8 use glib::GString; 9 use gst_sys; 10 use std; 11 use std::ptr; 12 13 glib_wrapper! { 14 pub struct Preset(Interface<gst_sys::GstPreset>); 15 16 match fn { 17 get_type => || gst_sys::gst_preset_get_type(), 18 } 19 } 20 21 impl Preset { get_app_dir() -> Option<std::path::PathBuf>22 pub fn get_app_dir() -> Option<std::path::PathBuf> { 23 assert_initialized_main_thread!(); 24 unsafe { from_glib_none(gst_sys::gst_preset_get_app_dir()) } 25 } 26 set_app_dir<P: AsRef<std::path::Path>>( app_dir: P, ) -> Result<(), glib::error::BoolError>27 pub fn set_app_dir<P: AsRef<std::path::Path>>( 28 app_dir: P, 29 ) -> Result<(), glib::error::BoolError> { 30 assert_initialized_main_thread!(); 31 unsafe { 32 glib_result_from_gboolean!( 33 gst_sys::gst_preset_set_app_dir(app_dir.as_ref().to_glib_none().0), 34 "Failed to set app preset directory" 35 ) 36 } 37 } 38 } 39 40 unsafe impl Send for Preset {} 41 unsafe impl Sync for Preset {} 42 43 pub const NONE_PRESET: Option<&Preset> = None; 44 45 pub trait PresetExt: 'static { delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError>46 fn delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError>; 47 get_meta(&self, name: &str, tag: &str) -> Option<GString>48 fn get_meta(&self, name: &str, tag: &str) -> Option<GString>; 49 get_preset_names(&self) -> Vec<GString>50 fn get_preset_names(&self) -> Vec<GString>; 51 get_property_names(&self) -> Vec<GString>52 fn get_property_names(&self) -> Vec<GString>; 53 is_editable(&self) -> bool54 fn is_editable(&self) -> bool; 55 load_preset(&self, name: &str) -> Result<(), glib::error::BoolError>56 fn load_preset(&self, name: &str) -> Result<(), glib::error::BoolError>; 57 rename_preset(&self, old_name: &str, new_name: &str) -> Result<(), glib::error::BoolError>58 fn rename_preset(&self, old_name: &str, new_name: &str) -> Result<(), glib::error::BoolError>; 59 save_preset(&self, name: &str) -> Result<(), glib::error::BoolError>60 fn save_preset(&self, name: &str) -> Result<(), glib::error::BoolError>; 61 set_meta( &self, name: &str, tag: &str, value: Option<&str>, ) -> Result<(), glib::error::BoolError>62 fn set_meta( 63 &self, 64 name: &str, 65 tag: &str, 66 value: Option<&str>, 67 ) -> Result<(), glib::error::BoolError>; 68 } 69 70 impl<O: IsA<Preset>> PresetExt for O { delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError>71 fn delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError> { 72 unsafe { 73 glib_result_from_gboolean!( 74 gst_sys::gst_preset_delete_preset( 75 self.as_ref().to_glib_none().0, 76 name.to_glib_none().0 77 ), 78 "Failed to delete preset" 79 ) 80 } 81 } 82 get_meta(&self, name: &str, tag: &str) -> Option<GString>83 fn get_meta(&self, name: &str, tag: &str) -> Option<GString> { 84 unsafe { 85 let mut value = ptr::null_mut(); 86 let ret = from_glib(gst_sys::gst_preset_get_meta( 87 self.as_ref().to_glib_none().0, 88 name.to_glib_none().0, 89 tag.to_glib_none().0, 90 &mut value, 91 )); 92 if ret { 93 Some(from_glib_full(value)) 94 } else { 95 None 96 } 97 } 98 } 99 get_preset_names(&self) -> Vec<GString>100 fn get_preset_names(&self) -> Vec<GString> { 101 unsafe { 102 FromGlibPtrContainer::from_glib_full(gst_sys::gst_preset_get_preset_names( 103 self.as_ref().to_glib_none().0, 104 )) 105 } 106 } 107 get_property_names(&self) -> Vec<GString>108 fn get_property_names(&self) -> Vec<GString> { 109 unsafe { 110 FromGlibPtrContainer::from_glib_full(gst_sys::gst_preset_get_property_names( 111 self.as_ref().to_glib_none().0, 112 )) 113 } 114 } 115 is_editable(&self) -> bool116 fn is_editable(&self) -> bool { 117 unsafe { 118 from_glib(gst_sys::gst_preset_is_editable( 119 self.as_ref().to_glib_none().0, 120 )) 121 } 122 } 123 load_preset(&self, name: &str) -> Result<(), glib::error::BoolError>124 fn load_preset(&self, name: &str) -> Result<(), glib::error::BoolError> { 125 unsafe { 126 glib_result_from_gboolean!( 127 gst_sys::gst_preset_load_preset( 128 self.as_ref().to_glib_none().0, 129 name.to_glib_none().0 130 ), 131 "Failed to load preset" 132 ) 133 } 134 } 135 rename_preset(&self, old_name: &str, new_name: &str) -> Result<(), glib::error::BoolError>136 fn rename_preset(&self, old_name: &str, new_name: &str) -> Result<(), glib::error::BoolError> { 137 unsafe { 138 glib_result_from_gboolean!( 139 gst_sys::gst_preset_rename_preset( 140 self.as_ref().to_glib_none().0, 141 old_name.to_glib_none().0, 142 new_name.to_glib_none().0 143 ), 144 "Failed to rename preset" 145 ) 146 } 147 } 148 save_preset(&self, name: &str) -> Result<(), glib::error::BoolError>149 fn save_preset(&self, name: &str) -> Result<(), glib::error::BoolError> { 150 unsafe { 151 glib_result_from_gboolean!( 152 gst_sys::gst_preset_save_preset( 153 self.as_ref().to_glib_none().0, 154 name.to_glib_none().0 155 ), 156 "Failed to save preset" 157 ) 158 } 159 } 160 set_meta( &self, name: &str, tag: &str, value: Option<&str>, ) -> Result<(), glib::error::BoolError>161 fn set_meta( 162 &self, 163 name: &str, 164 tag: &str, 165 value: Option<&str>, 166 ) -> Result<(), glib::error::BoolError> { 167 unsafe { 168 glib_result_from_gboolean!( 169 gst_sys::gst_preset_set_meta( 170 self.as_ref().to_glib_none().0, 171 name.to_glib_none().0, 172 tag.to_glib_none().0, 173 value.to_glib_none().0 174 ), 175 "Failed to set preset meta" 176 ) 177 } 178 } 179 } 180