gstreamer_validate/auto/
flags.rs1use crate::ffi;
7use glib::{bitflags::bitflags, prelude::*, translate::*};
8
9bitflags! {
10 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
11 #[doc(alias = "GstValidateActionTypeFlags")]
12 pub struct ActionTypeFlags: u32 {
13 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_NONE")]
15 const NONE = ffi::GST_VALIDATE_ACTION_TYPE_NONE as _;
16 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_CONFIG")]
18 const CONFIG = ffi::GST_VALIDATE_ACTION_TYPE_CONFIG as _;
19 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_ASYNC")]
21 const ASYNC = ffi::GST_VALIDATE_ACTION_TYPE_ASYNC as _;
22 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_NON_BLOCKING")]
25 const NON_BLOCKING = ffi::GST_VALIDATE_ACTION_TYPE_NON_BLOCKING as _;
26 #[deprecated = "Since 1.20"]
27 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_INTERLACED")]
28 const INTERLACED = ffi::GST_VALIDATE_ACTION_TYPE_INTERLACED as _;
29 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_CAN_EXECUTE_ON_ADDITION")]
33 const CAN_EXECUTE_ON_ADDITION = ffi::GST_VALIDATE_ACTION_TYPE_CAN_EXECUTE_ON_ADDITION as _;
34 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_NEEDS_CLOCK")]
37 const NEEDS_CLOCK = ffi::GST_VALIDATE_ACTION_TYPE_NEEDS_CLOCK as _;
38 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL")]
41 const NO_EXECUTION_NOT_FATAL = ffi::GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL as _;
42 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_CAN_BE_OPTIONAL")]
46 const CAN_BE_OPTIONAL = ffi::GST_VALIDATE_ACTION_TYPE_CAN_BE_OPTIONAL as _;
47 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE")]
48 const DOESNT_NEED_PIPELINE = ffi::GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE as _;
49 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_HANDLED_IN_CONFIG")]
52 const HANDLED_IN_CONFIG = ffi::GST_VALIDATE_ACTION_TYPE_HANDLED_IN_CONFIG as _;
53 #[doc(alias = "GST_VALIDATE_ACTION_TYPE_CHECK")]
58 const CHECK = ffi::GST_VALIDATE_ACTION_TYPE_CHECK as _;
59 }
60}
61
62#[doc(hidden)]
63impl IntoGlib for ActionTypeFlags {
64 type GlibType = ffi::GstValidateActionTypeFlags;
65
66 #[inline]
67 fn into_glib(self) -> ffi::GstValidateActionTypeFlags {
68 self.bits()
69 }
70}
71
72#[doc(hidden)]
73impl FromGlib<ffi::GstValidateActionTypeFlags> for ActionTypeFlags {
74 #[inline]
75 unsafe fn from_glib(value: ffi::GstValidateActionTypeFlags) -> Self {
76 skip_assert_initialized!();
77 Self::from_bits_truncate(value)
78 }
79}
80
81impl StaticType for ActionTypeFlags {
82 #[inline]
83 #[doc(alias = "gst_validate_action_type_flags_get_type")]
84 fn static_type() -> glib::Type {
85 unsafe { from_glib(ffi::gst_validate_action_type_flags_get_type()) }
86 }
87}
88
89impl glib::HasParamSpec for ActionTypeFlags {
90 type ParamSpec = glib::ParamSpecFlags;
91 type SetValue = Self;
92 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
93
94 fn param_spec_builder() -> Self::BuilderFn {
95 Self::ParamSpec::builder
96 }
97}
98
99impl glib::value::ValueType for ActionTypeFlags {
100 type Type = Self;
101}
102
103unsafe impl<'a> glib::value::FromValue<'a> for ActionTypeFlags {
104 type Checker = glib::value::GenericValueTypeChecker<Self>;
105
106 #[inline]
107 unsafe fn from_value(value: &'a glib::Value) -> Self {
108 skip_assert_initialized!();
109 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
110 }
111}
112
113impl ToValue for ActionTypeFlags {
114 #[inline]
115 fn to_value(&self) -> glib::Value {
116 let mut value = glib::Value::for_value_type::<Self>();
117 unsafe {
118 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
119 }
120 value
121 }
122
123 #[inline]
124 fn value_type(&self) -> glib::Type {
125 Self::static_type()
126 }
127}
128
129impl From<ActionTypeFlags> for glib::Value {
130 #[inline]
131 fn from(v: ActionTypeFlags) -> Self {
132 skip_assert_initialized!();
133 ToValue::to_value(&v)
134 }
135}
136
137bitflags! {
138 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
142 #[doc(alias = "GstValidateIssueFlags")]
143 pub struct IssueFlags: u32 {
144 #[doc(alias = "GST_VALIDATE_ISSUE_FLAGS_NONE")]
145 const NONE = ffi::GST_VALIDATE_ISSUE_FLAGS_NONE as _;
146 #[doc(alias = "GST_VALIDATE_ISSUE_FLAGS_FULL_DETAILS")]
147 const FULL_DETAILS = ffi::GST_VALIDATE_ISSUE_FLAGS_FULL_DETAILS as _;
148 #[doc(alias = "GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE")]
149 const NO_BACKTRACE = ffi::GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE as _;
150 #[doc(alias = "GST_VALIDATE_ISSUE_FLAGS_FORCE_BACKTRACE")]
152 const FORCE_BACKTRACE = ffi::GST_VALIDATE_ISSUE_FLAGS_FORCE_BACKTRACE as _;
153 }
154}
155
156#[doc(hidden)]
157impl IntoGlib for IssueFlags {
158 type GlibType = ffi::GstValidateIssueFlags;
159
160 #[inline]
161 fn into_glib(self) -> ffi::GstValidateIssueFlags {
162 self.bits()
163 }
164}
165
166#[doc(hidden)]
167impl FromGlib<ffi::GstValidateIssueFlags> for IssueFlags {
168 #[inline]
169 unsafe fn from_glib(value: ffi::GstValidateIssueFlags) -> Self {
170 skip_assert_initialized!();
171 Self::from_bits_truncate(value)
172 }
173}
174
175impl StaticType for IssueFlags {
176 #[inline]
177 #[doc(alias = "gst_validate_issue_flags_get_type")]
178 fn static_type() -> glib::Type {
179 unsafe { from_glib(ffi::gst_validate_issue_flags_get_type()) }
180 }
181}
182
183impl glib::HasParamSpec for IssueFlags {
184 type ParamSpec = glib::ParamSpecFlags;
185 type SetValue = Self;
186 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
187
188 fn param_spec_builder() -> Self::BuilderFn {
189 Self::ParamSpec::builder
190 }
191}
192
193impl glib::value::ValueType for IssueFlags {
194 type Type = Self;
195}
196
197unsafe impl<'a> glib::value::FromValue<'a> for IssueFlags {
198 type Checker = glib::value::GenericValueTypeChecker<Self>;
199
200 #[inline]
201 unsafe fn from_value(value: &'a glib::Value) -> Self {
202 skip_assert_initialized!();
203 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
204 }
205}
206
207impl ToValue for IssueFlags {
208 #[inline]
209 fn to_value(&self) -> glib::Value {
210 let mut value = glib::Value::for_value_type::<Self>();
211 unsafe {
212 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
213 }
214 value
215 }
216
217 #[inline]
218 fn value_type(&self) -> glib::Type {
219 Self::static_type()
220 }
221}
222
223impl From<IssueFlags> for glib::Value {
224 #[inline]
225 fn from(v: IssueFlags) -> Self {
226 skip_assert_initialized!();
227 ToValue::to_value(&v)
228 }
229}