gstreamer_rtsp_server/auto/
flags.rs
1use crate::ffi;
7use glib::{bitflags::bitflags, prelude::*, translate::*};
8
9bitflags! {
10 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
12 #[doc(alias = "GstRTSPAddressFlags")]
13 pub struct RTSPAddressFlags: u32 {
14 #[doc(alias = "GST_RTSP_ADDRESS_FLAG_IPV4")]
16 const IPV4 = ffi::GST_RTSP_ADDRESS_FLAG_IPV4 as _;
17 #[doc(alias = "GST_RTSP_ADDRESS_FLAG_IPV6")]
19 const IPV6 = ffi::GST_RTSP_ADDRESS_FLAG_IPV6 as _;
20 #[doc(alias = "GST_RTSP_ADDRESS_FLAG_EVEN_PORT")]
22 const EVEN_PORT = ffi::GST_RTSP_ADDRESS_FLAG_EVEN_PORT as _;
23 #[doc(alias = "GST_RTSP_ADDRESS_FLAG_MULTICAST")]
25 const MULTICAST = ffi::GST_RTSP_ADDRESS_FLAG_MULTICAST as _;
26 #[doc(alias = "GST_RTSP_ADDRESS_FLAG_UNICAST")]
28 const UNICAST = ffi::GST_RTSP_ADDRESS_FLAG_UNICAST as _;
29 }
30}
31
32#[doc(hidden)]
33impl IntoGlib for RTSPAddressFlags {
34 type GlibType = ffi::GstRTSPAddressFlags;
35
36 #[inline]
37 fn into_glib(self) -> ffi::GstRTSPAddressFlags {
38 self.bits()
39 }
40}
41
42#[doc(hidden)]
43impl FromGlib<ffi::GstRTSPAddressFlags> for RTSPAddressFlags {
44 #[inline]
45 unsafe fn from_glib(value: ffi::GstRTSPAddressFlags) -> Self {
46 skip_assert_initialized!();
47 Self::from_bits_truncate(value)
48 }
49}
50
51bitflags! {
52 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
54 #[doc(alias = "GstRTSPTransportMode")]
55 pub struct RTSPTransportMode: u32 {
56 #[doc(alias = "GST_RTSP_TRANSPORT_MODE_PLAY")]
58 const PLAY = ffi::GST_RTSP_TRANSPORT_MODE_PLAY as _;
59 #[doc(alias = "GST_RTSP_TRANSPORT_MODE_RECORD")]
61 const RECORD = ffi::GST_RTSP_TRANSPORT_MODE_RECORD as _;
62 }
63}
64
65#[doc(hidden)]
66impl IntoGlib for RTSPTransportMode {
67 type GlibType = ffi::GstRTSPTransportMode;
68
69 #[inline]
70 fn into_glib(self) -> ffi::GstRTSPTransportMode {
71 self.bits()
72 }
73}
74
75#[doc(hidden)]
76impl FromGlib<ffi::GstRTSPTransportMode> for RTSPTransportMode {
77 #[inline]
78 unsafe fn from_glib(value: ffi::GstRTSPTransportMode) -> Self {
79 skip_assert_initialized!();
80 Self::from_bits_truncate(value)
81 }
82}
83
84impl StaticType for RTSPTransportMode {
85 #[inline]
86 #[doc(alias = "gst_rtsp_transport_mode_get_type")]
87 fn static_type() -> glib::Type {
88 unsafe { from_glib(ffi::gst_rtsp_transport_mode_get_type()) }
89 }
90}
91
92impl glib::HasParamSpec for RTSPTransportMode {
93 type ParamSpec = glib::ParamSpecFlags;
94 type SetValue = Self;
95 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
96
97 fn param_spec_builder() -> Self::BuilderFn {
98 Self::ParamSpec::builder
99 }
100}
101
102impl glib::value::ValueType for RTSPTransportMode {
103 type Type = Self;
104}
105
106unsafe impl<'a> glib::value::FromValue<'a> for RTSPTransportMode {
107 type Checker = glib::value::GenericValueTypeChecker<Self>;
108
109 #[inline]
110 unsafe fn from_value(value: &'a glib::Value) -> Self {
111 skip_assert_initialized!();
112 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
113 }
114}
115
116impl ToValue for RTSPTransportMode {
117 #[inline]
118 fn to_value(&self) -> glib::Value {
119 let mut value = glib::Value::for_value_type::<Self>();
120 unsafe {
121 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
122 }
123 value
124 }
125
126 #[inline]
127 fn value_type(&self) -> glib::Type {
128 Self::static_type()
129 }
130}
131
132impl From<RTSPTransportMode> for glib::Value {
133 #[inline]
134 fn from(v: RTSPTransportMode) -> Self {
135 skip_assert_initialized!();
136 ToValue::to_value(&v)
137 }
138}