From 49627b8de7edb42f0baee62162341b18e3ca491e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 17 Dec 2017 18:29:22 +0200 Subject: [PATCH] Various nullability fixes everywhere and hide enum->string functions --- Gir_Gst.toml | 62 +++++++++++++++++++++++---- gstreamer/src/auto/device.rs | 8 ++-- gstreamer/src/auto/device_monitor.rs | 4 +- gstreamer/src/auto/device_provider.rs | 4 +- gstreamer/src/auto/element.rs | 14 ------ gstreamer/src/auto/functions.rs | 4 +- gstreamer/src/auto/pad.rs | 7 --- gstreamer/src/auto/plugin.rs | 2 +- 8 files changed, 65 insertions(+), 40 deletions(-) diff --git a/Gir_Gst.toml b/Gir_Gst.toml index 0621bbac7..8121799ba 100644 --- a/Gir_Gst.toml +++ b/Gir_Gst.toml @@ -36,9 +36,6 @@ generate = [ "Gst.URIError", "Gst.StructureChangeType", "Gst.StreamStatusType", - "Gst.DeviceProvider", - "Gst.Device", - "Gst.DeviceMonitor", "Gst.StreamType", "Gst.StreamFlags", "Gst.ProgressType", @@ -343,6 +340,16 @@ status = "generate" # formatted value ignore = true + [[object.function]] + name = "state_change_return_get_name" + # Wrong place + ignore = true + + [[object.function]] + name = "state_get_name" + # Wrong place + ignore = true + [[object]] name = "Gst.ElementFactory" status = "generate" @@ -353,6 +360,35 @@ name = "Gst.DeviceProviderFactory" status = "generate" trait = false +[[object]] +name = "Gst.DeviceProvider" +status = "generate" + [[object.function]] + name = "get_bus" + [object.function.return] + nullable = false + +[[object]] +name = "Gst.DeviceMonitor" +status = "generate" + [[object.function]] + name = "get_bus" + [object.function.return] + nullable = false + +[[object]] +name = "Gst.Device" +status = "generate" + [[object.function]] + name = "get_display_name" + [object.function.return] + nullable = false + + [[object.function]] + name = "get_device_class" + [object.function.return] + nullable = false + [[object]] name = "Gst.Object" # For renaming the trait... @@ -526,6 +562,11 @@ status = "generate" # formatted value ignore = true + [[object.function]] + name = "link_get_name" + # Wrong place + ignore = true + [[object]] name = "Gst.PadTemplate" status = "generate" @@ -635,11 +676,6 @@ trait = false [object.function.return] nullable = false - [[object.function]] - name = "get_release_date_string" - [object.function.return] - nullable = false - [[object.function]] name = "get_source" [object.function.return] @@ -873,6 +909,16 @@ status = "generate" # newtype wrapper ignore = true + [[object.function]] + name = "debug_bin_to_dot_data" + [object.function.return] + nullable = false + + [[object.function]] + name = "version_string" + [object.function.return] + nullable = false + [[object]] name = "Gst.StateChangeReturn" status = "generate" diff --git a/gstreamer/src/auto/device.rs b/gstreamer/src/auto/device.rs index 0ccd44678..4947c6b3d 100644 --- a/gstreamer/src/auto/device.rs +++ b/gstreamer/src/auto/device.rs @@ -37,9 +37,9 @@ pub trait DeviceExt { fn get_caps(&self) -> Option; - fn get_device_class(&self) -> Option; + fn get_device_class(&self) -> String; - fn get_display_name(&self) -> Option; + fn get_display_name(&self) -> String; fn get_properties(&self) -> Option; @@ -83,13 +83,13 @@ impl + IsA> DeviceExt for O { } } - fn get_device_class(&self) -> Option { + fn get_device_class(&self) -> String { unsafe { from_glib_full(ffi::gst_device_get_device_class(self.to_glib_none().0)) } } - fn get_display_name(&self) -> Option { + fn get_display_name(&self) -> String { unsafe { from_glib_full(ffi::gst_device_get_display_name(self.to_glib_none().0)) } diff --git a/gstreamer/src/auto/device_monitor.rs b/gstreamer/src/auto/device_monitor.rs index 64ac6caa3..e842d3a70 100644 --- a/gstreamer/src/auto/device_monitor.rs +++ b/gstreamer/src/auto/device_monitor.rs @@ -50,7 +50,7 @@ unsafe impl Sync for DeviceMonitor {} pub trait DeviceMonitorExt { fn add_filter<'a, 'b, P: Into>, Q: Into>>(&self, classes: P, caps: Q) -> u32; - fn get_bus(&self) -> Option; + fn get_bus(&self) -> Bus; fn get_devices(&self) -> Vec; @@ -84,7 +84,7 @@ impl + IsA> DeviceMonitorExt for O { } } - fn get_bus(&self) -> Option { + fn get_bus(&self) -> Bus { unsafe { from_glib_full(ffi::gst_device_monitor_get_bus(self.to_glib_none().0)) } diff --git a/gstreamer/src/auto/device_provider.rs b/gstreamer/src/auto/device_provider.rs index ba88fcadc..fc957509c 100644 --- a/gstreamer/src/auto/device_provider.rs +++ b/gstreamer/src/auto/device_provider.rs @@ -50,7 +50,7 @@ pub trait DeviceProviderExt { fn device_remove(&self, device: &Device); - fn get_bus(&self) -> Option; + fn get_bus(&self) -> Bus; fn get_devices(&self) -> Vec; @@ -90,7 +90,7 @@ impl + IsA> DeviceProviderExt for O } } - fn get_bus(&self) -> Option { + fn get_bus(&self) -> Bus { unsafe { from_glib_full(ffi::gst_device_provider_get_bus(self.to_glib_none().0)) } diff --git a/gstreamer/src/auto/element.rs b/gstreamer/src/auto/element.rs index 41cdf6c17..af72eabbb 100644 --- a/gstreamer/src/auto/element.rs +++ b/gstreamer/src/auto/element.rs @@ -60,20 +60,6 @@ impl Element { from_glib(ffi::gst_element_register(plugin.0, name.to_glib_none().0, rank, type_.to_glib())) } } - - pub fn state_change_return_get_name(state_ret: StateChangeReturn) -> Option { - assert_initialized_main_thread!(); - unsafe { - from_glib_none(ffi::gst_element_state_change_return_get_name(state_ret.to_glib())) - } - } - - pub fn state_get_name(state: State) -> Option { - assert_initialized_main_thread!(); - unsafe { - from_glib_none(ffi::gst_element_state_get_name(state.to_glib())) - } - } } unsafe impl Send for Element {} diff --git a/gstreamer/src/auto/functions.rs b/gstreamer/src/auto/functions.rs index a106dc4d0..903b457ec 100644 --- a/gstreamer/src/auto/functions.rs +++ b/gstreamer/src/auto/functions.rs @@ -18,7 +18,7 @@ use std::mem; use std::ptr; -pub fn debug_bin_to_dot_data>(bin: &P, details: DebugGraphDetails) -> Option { +pub fn debug_bin_to_dot_data>(bin: &P, details: DebugGraphDetails) -> String { skip_assert_initialized!(); unsafe { from_glib_full(ffi::gst_debug_bin_to_dot_data(bin.to_glib_none().0, details.to_glib())) @@ -170,7 +170,7 @@ pub fn version() -> (u32, u32, u32, u32) { } } -pub fn version_string() -> Option { +pub fn version_string() -> String { assert_initialized_main_thread!(); unsafe { from_glib_full(ffi::gst_version_string()) diff --git a/gstreamer/src/auto/pad.rs b/gstreamer/src/auto/pad.rs index f025f22e3..bb63a2113 100644 --- a/gstreamer/src/auto/pad.rs +++ b/gstreamer/src/auto/pad.rs @@ -58,13 +58,6 @@ impl Pad { from_glib_none(ffi::gst_pad_new_from_template(templ.to_glib_none().0, name.0)) } } - - pub fn link_get_name(ret: PadLinkReturn) -> Option { - assert_initialized_main_thread!(); - unsafe { - from_glib_none(ffi::gst_pad_link_get_name(ret.to_glib())) - } - } } unsafe impl Send for Pad {} diff --git a/gstreamer/src/auto/plugin.rs b/gstreamer/src/auto/plugin.rs index 0c9fe7fc4..c36d98095 100644 --- a/gstreamer/src/auto/plugin.rs +++ b/gstreamer/src/auto/plugin.rs @@ -69,7 +69,7 @@ impl Plugin { } } - pub fn get_release_date_string(&self) -> String { + pub fn get_release_date_string(&self) -> Option { unsafe { from_glib_none(ffi::gst_plugin_get_release_date_string(self.to_glib_none().0)) }