use crate::{VulkanDevice, ffi};
use glib::{prelude::*, translate::*};
glib::wrapper! {
#[doc(alias = "GstVulkanDescriptorPool")]
pub struct VulkanDescriptorPool(Object<ffi::GstVulkanDescriptorPool, ffi::GstVulkanDescriptorPoolClass>) @extends gst::Object;
match fn {
type_ => || ffi::gst_vulkan_descriptor_pool_get_type(),
}
}
impl VulkanDescriptorPool {
pub const NONE: Option<&'static VulkanDescriptorPool> = None;
}
unsafe impl Send for VulkanDescriptorPool {}
unsafe impl Sync for VulkanDescriptorPool {}
pub trait VulkanDescriptorPoolExt: IsA<VulkanDescriptorPool> + 'static {
#[doc(alias = "gst_vulkan_descriptor_pool_get_device")]
#[doc(alias = "get_device")]
fn device(&self) -> VulkanDevice {
unsafe {
from_glib_full(ffi::gst_vulkan_descriptor_pool_get_device(
self.as_ref().to_glib_none().0,
))
}
}
#[doc(alias = "gst_vulkan_descriptor_pool_get_max_sets")]
#[doc(alias = "get_max_sets")]
fn max_sets(&self) -> usize {
unsafe { ffi::gst_vulkan_descriptor_pool_get_max_sets(self.as_ref().to_glib_none().0) }
}
}
impl<O: IsA<VulkanDescriptorPool>> VulkanDescriptorPoolExt for O {}