1 | // Take a look at the license at the top of the repository in the LICENSE file. |
2 | |
3 | use glib::{prelude::*, translate::*}; |
4 | |
5 | use crate::{prelude::*, Plugin, PluginFlags, StructureRef}; |
6 | |
7 | impl Plugin { |
8 | #[doc (alias = "get_cache_data" )] |
9 | #[doc (alias = "gst_plugin_get_cache_data" )] |
10 | pub fn cache_data(&self) -> Option<&StructureRef> { |
11 | unsafe { |
12 | let cache_data: *const GstStructure = ffi::gst_plugin_get_cache_data(self.to_glib_none().0); |
13 | if cache_data.is_null() { |
14 | None |
15 | } else { |
16 | Some(StructureRef::from_glib_borrow(ptr:cache_data)) |
17 | } |
18 | } |
19 | } |
20 | |
21 | #[doc (alias = "get_plugin_flags" )] |
22 | pub fn plugin_flags(&self) -> PluginFlags { |
23 | unsafe { |
24 | let ptr: *mut ffi::GstObject = self.as_ptr() as *mut _; |
25 | let _guard: ObjectLockGuard<'_, Plugin> = self.object_lock(); |
26 | from_glib((*ptr).flags) |
27 | } |
28 | } |
29 | } |
30 | |