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}