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