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