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