Skip to main content

engage/generated/unity_engine/
unitysynchronizationcontext.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-unitysynchronizationcontext-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::{
9        object::{IObject, Object},
10        valuetype::{IValueType, ValueType},
11    };
12
13    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/unitysynchronizationcontext/UnitySynchronizationContext.md"))]
14    #[::unity::class(namespace = "UnityEngine", name = "UnitySynchronizationContext")]
15    pub struct UnitySynchronizationContext {
16        #[offset(24)]
17        #[rename(name = "m_AsyncWorkQueue")]
18        pub m_async_work_queue: crate::system::collections::generic::list_1::List_1<
19            crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
20        >,
21        #[offset(32)]
22        #[rename(name = "m_CurrentFrameWork")]
23        pub m_current_frame_work: crate::system::collections::generic::list_1::List_1<
24            crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
25        >,
26        #[offset(40)]
27        #[rename(name = "m_MainThreadID")]
28        pub m_main_thread_id: i32,
29        #[offset(44)]
30        #[rename(name = "m_TrackedCount")]
31        pub m_tracked_count: i32,
32    }
33
34    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/unitysynchronizationcontext/UnitySynchronizationContext_WorkRequest.md"))]
35    #[repr(C)]
36    #[derive(::core::clone::Clone, ::core::marker::Copy)]
37    pub struct UnitySynchronizationContext_WorkRequest {}
38    impl ::unity::ClassIdentity for UnitySynchronizationContext_WorkRequest {
39        const NAME: &'static str = "UnitySynchronizationContext.WorkRequest";
40        const NAMESPACE: &'static str = "UnityEngine";
41
42        fn class() -> ::unity::Class {
43            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
44            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
45        }
46    }
47    impl ::unity::IlType for UnitySynchronizationContext_WorkRequest {
48        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
49            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
50        }
51    }
52}
53
54#[cfg(feature = "unity_engine-unitysynchronizationcontext-types")]
55pub use __types::*;
56
57#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
58impl UnitySynchronizationContext {
59    #[doc = "`InitializeSynchronizationContext()` overload"]
60    pub fn initialize_synchronization_context() -> () {
61        unsafe {
62            ::unity::il2cpp_call!((::unity::module_base()+0x37957e0usize)as*mut u8,();
63            )
64        }
65    }
66
67    #[doc = "`ExecuteTasks()` overload"]
68    pub fn execute_tasks() -> () {
69        unsafe {
70            ::unity::il2cpp_call!((::unity::module_base()+0x3795850usize)as*mut u8,();
71            )
72        }
73    }
74
75    #[doc = "`ExecutePendingTasks(i64)` overload"]
76    pub fn execute_pending_tasks(milliseconds_timeout: impl ::core::convert::Into<i64>) -> bool {
77        unsafe {
78            ::unity::il2cpp_call!((::unity::module_base()+0x37958c0usize)as*mut u8,bool;
79(i64)::core::convert::Into::into(milliseconds_timeout))
80        }
81    }
82}
83
84#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
85pub trait IUnitySynchronizationContextMethods: IUnitySynchronizationContext {
86    #[doc = "`.ctor(i32)` overload"]
87    fn ctor(self, main_thread_id: impl ::core::convert::Into<i32>) -> () {
88        unsafe {
89            let __receiver =
90                <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
91            ::unity::il2cpp_call!((::unity::module_base()+0x3794e80usize)as*mut u8,();
92(UnitySynchronizationContext)__receiver,(i32)::core::convert::Into::into(main_thread_id))
93        }
94    }
95    #[doc = "`.ctor(crate::system::collections::generic::list_1::List_1<crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest>, i32)` overload"]
96    fn ctor_2(
97        self,
98        queue: impl ::core::convert::Into<
99            crate::system::collections::generic::list_1::List_1<
100                crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
101            >,
102        >,
103        main_thread_id: impl ::core::convert::Into<i32>,
104    ) -> () {
105        unsafe {
106            let __receiver =
107                <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
108            ::unity::il2cpp_call!((::unity::module_base()+0x3794f60usize)as*mut u8,();
109(UnitySynchronizationContext)__receiver,(crate::system::collections::generic::list_1::List_1<crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest>)::core::convert::Into::into(queue),(i32)::core::convert::Into::into(main_thread_id))
110        }
111    }
112    #[doc = "`OperationStarted()` overload"]
113    fn operation_started(self) -> () {
114        unsafe {
115            let __receiver =
116                <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
117            {
118                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
119                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
120                    panic!(
121                        "unity: virtual slot {}
122 out of range (vtable len {}
123) on the runtime class behind {}
124 (method `{}
125`)",
126                        6usize,
127                        __vt.len(),
128                        <UnitySynchronizationContext as ::unity::ClassIdentity>::NAME,
129                        "OperationStarted",
130                    )
131                });
132                let __inner: extern "C" fn(UnitySynchronizationContext, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
133                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
134                __inner(__receiver, __mi)
135            }
136        }
137    }
138    #[doc = "`OperationCompleted()` overload"]
139    fn operation_completed(self) -> () {
140        unsafe {
141            let __receiver =
142                <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
143            {
144                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
145                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
146                    panic!(
147                        "unity: virtual slot {}
148 out of range (vtable len {}
149) on the runtime class behind {}
150 (method `{}
151`)",
152                        7usize,
153                        __vt.len(),
154                        <UnitySynchronizationContext as ::unity::ClassIdentity>::NAME,
155                        "OperationCompleted",
156                    )
157                });
158                let __inner: extern "C" fn(UnitySynchronizationContext, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
159                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
160                __inner(__receiver, __mi)
161            }
162        }
163    }
164    #[doc = "`Exec()` overload"]
165    fn exec(self) -> () {
166        unsafe {
167            let __receiver =
168                <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
169            ::unity::il2cpp_call!((::unity::module_base()+0x3795500usize)as*mut u8,();
170(UnitySynchronizationContext)__receiver)
171        }
172    }
173    #[doc = "`HasPendingTasks()` overload"]
174    fn has_pending_tasks(self) -> bool {
175        unsafe {
176            let __receiver =
177                <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
178            ::unity::il2cpp_call!((::unity::module_base()+0x3795770usize)as*mut u8,bool;
179(UnitySynchronizationContext)__receiver)
180        }
181    }
182}
183
184#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
185impl<__T: IUnitySynchronizationContext> IUnitySynchronizationContextMethods for __T {}
186
187#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
188impl UnitySynchronizationContext {
189    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
190        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
191    }
192
193    pub fn ctor_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
194        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
195    }
196
197    pub fn operation_started_method_info() -> &'static ::unity::il2cpp::MethodInfo {
198        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
199    }
200
201    pub fn operation_completed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
202        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
203    }
204
205    pub fn exec_method_info() -> &'static ::unity::il2cpp::MethodInfo {
206        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
207    }
208
209    pub fn has_pending_tasks_method_info() -> &'static ::unity::il2cpp::MethodInfo {
210        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
211    }
212
213    pub fn initialize_synchronization_context_method_info() -> &'static ::unity::il2cpp::MethodInfo {
214        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
215    }
216
217    pub fn execute_tasks_method_info() -> &'static ::unity::il2cpp::MethodInfo {
218        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
219    }
220
221    pub fn execute_pending_tasks_method_info() -> &'static ::unity::il2cpp::MethodInfo {
222        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
223    }
224}
225
226#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
227impl UnitySynchronizationContext {
228    #[doc = "Direct (non-virtual) call to `UnitySynchronizationContext`'s own `OperationStarted`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
229    pub unsafe fn operation_started(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
230        let __mi = Self::operation_started_method_info();
231        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
232        __inner(this.into(), ::core::option::Option::None)
233    }
234
235    #[doc = "Direct (non-virtual) call to `UnitySynchronizationContext`'s own `OperationCompleted`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
236    pub unsafe fn operation_completed(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
237        let __mi = Self::operation_completed_method_info();
238        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
239        __inner(this.into(), ::core::option::Option::None)
240    }
241}
242
243#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
244impl UnitySynchronizationContext {
245    #[doc = "`.ctor(i32)` — overload selector"]
246    pub fn new(main_thread_id: i32) -> Self {
247        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
248            panic!(
249                "{}
250::{}
251 failed to instantiate",
252                ::core::stringify!(UnitySynchronizationContext),
253                ::core::stringify!(new),
254            )
255        });
256        <Self as IUnitySynchronizationContextMethods>::ctor(this, main_thread_id);
257        this
258    }
259
260    #[doc = "`.ctor(crate::system::collections::generic::list_1::List_1<crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest>, i32)` — overload selector"]
261    pub fn new_2(
262        queue: crate::system::collections::generic::list_1::List_1<
263            crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
264        >,
265        main_thread_id: i32,
266    ) -> Self {
267        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
268            panic!(
269                "{}
270::{}
271 failed to instantiate",
272                ::core::stringify!(UnitySynchronizationContext),
273                ::core::stringify!(new_2),
274            )
275        });
276        <Self as IUnitySynchronizationContextMethods>::ctor_2(this, queue, main_thread_id);
277        this
278    }
279}
280
281#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
282impl UnitySynchronizationContext_WorkRequest {
283    #[doc = "`Invoke()` overload"]
284    pub fn invoke(&mut self) -> () {
285        unsafe {
286            ::unity::il2cpp_call!((::unity::module_base()+0x3795670usize)as*mut u8,();
287(*mut UnitySynchronizationContext_WorkRequest)self as*mut UnitySynchronizationContext_WorkRequest)
288        }
289    }
290}
291
292#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
293impl UnitySynchronizationContext_WorkRequest {
294    pub fn invoke_method_info() -> &'static ::unity::il2cpp::MethodInfo {
295        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
296    }
297}
298
299#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
300#[doc(hidden)]
301pub mod prelude {
302    pub use super::{
303        IUnitySynchronizationContext, IUnitySynchronizationContextMethods, UnitySynchronizationContext, UnitySynchronizationContext_WorkRequest,
304    };
305    #[cfg(feature = "system-object")]
306    pub use crate::system::object::IObjectMethods;
307    #[cfg(feature = "system-valuetype")]
308    pub use crate::system::valuetype::IValueTypeMethods;
309    pub use crate::system::{object::IObject, valuetype::IValueType};
310}