gstreamer_vulkan/auto/vulkan_descriptor_pool.rs
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// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::{ffi, VulkanDevice};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10 ///
11 ///
12 /// # Implements
13 ///
14 /// [`VulkanDescriptorPoolExt`][trait@crate::prelude::VulkanDescriptorPoolExt], [`trait@gst::prelude::ObjectExt`], [`trait@glib::ObjectExt`]
15 #[doc(alias = "GstVulkanDescriptorPool")]
16 pub struct VulkanDescriptorPool(Object<ffi::GstVulkanDescriptorPool, ffi::GstVulkanDescriptorPoolClass>) @extends gst::Object;
17
18 match fn {
19 type_ => || ffi::gst_vulkan_descriptor_pool_get_type(),
20 }
21}
22
23impl VulkanDescriptorPool {
24 pub const NONE: Option<&'static VulkanDescriptorPool> = None;
25
26 //#[doc(alias = "gst_vulkan_descriptor_pool_new_wrapped")]
27 //pub fn new_wrapped(device: &impl IsA<VulkanDevice>, pool: /*Ignored*/vulkan::DescriptorPool, max_sets: usize) -> VulkanDescriptorPool {
28 // unsafe { TODO: call ffi:gst_vulkan_descriptor_pool_new_wrapped() }
29 //}
30}
31
32unsafe impl Send for VulkanDescriptorPool {}
33unsafe impl Sync for VulkanDescriptorPool {}
34
35/// Trait containing all [`struct@VulkanDescriptorPool`] methods.
36///
37/// # Implementors
38///
39/// [`VulkanDescriptorPool`][struct@crate::VulkanDescriptorPool]
40pub trait VulkanDescriptorPoolExt: IsA<VulkanDescriptorPool> + 'static {
41 ///
42 /// # Returns
43 ///
44 /// the parent [`VulkanDevice`][crate::VulkanDevice] for this descriptor pool
45 #[doc(alias = "gst_vulkan_descriptor_pool_get_device")]
46 #[doc(alias = "get_device")]
47 fn device(&self) -> VulkanDevice {
48 unsafe {
49 from_glib_full(ffi::gst_vulkan_descriptor_pool_get_device(
50 self.as_ref().to_glib_none().0,
51 ))
52 }
53 }
54
55 ///
56 /// # Returns
57 ///
58 /// the maximum number of sets allocatable from `self`
59 #[doc(alias = "gst_vulkan_descriptor_pool_get_max_sets")]
60 #[doc(alias = "get_max_sets")]
61 fn max_sets(&self) -> usize {
62 unsafe { ffi::gst_vulkan_descriptor_pool_get_max_sets(self.as_ref().to_glib_none().0) }
63 }
64}
65
66impl<O: IsA<VulkanDescriptorPool>> VulkanDescriptorPoolExt for O {}