Skip to main content

engage/generated/unity_engine/resource_management/async_operations/
igenericprovideroperation.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-async_operations-igenericprovideroperation-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8
9    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/async_operations/igenericprovideroperation/IGenericProviderOperation.md"))]
10    #[::unity::class(namespace = "UnityEngine.ResourceManagement.AsyncOperations", name = "IGenericProviderOperation")]
11    pub struct IGenericProviderOperation {}
12}
13
14#[cfg(feature = "unity_engine-resource_management-async_operations-igenericprovideroperation-types")]
15pub use __types::*;
16
17#[cfg(feature = "unity_engine-resource_management-async_operations-igenericprovideroperation")]
18pub trait IIGenericProviderOperationMethods: IIGenericProviderOperation {
19    #[doc = "`Init(crate::unity_engine::resource_management::resourcemanager::ResourceManager, crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider, crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>>)` overload"]
20    fn init(
21        self,
22        rm: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
23        provider: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider>,
24        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
25        dep_op: impl ::core::convert::Into<
26            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
27                crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
28                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
29                >,
30            >,
31        >,
32    ) -> () {
33        unsafe {
34            let __receiver =
35                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
36            {
37                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
38                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
39                    panic!(
40                        "unity: virtual slot {}
41 out of range (vtable len {}
42) on the runtime class behind {}
43 (method `{}
44`)",
45                        0usize,
46                        __vt.len(),
47                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
48                        "Init",
49                    )
50                });
51                let __inner: extern "C" fn(
52                    IGenericProviderOperation,
53                    crate::unity_engine::resource_management::resourcemanager::ResourceManager,
54                    crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider,
55                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
56                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
57                        crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
58                            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
59                        >,
60                    >,
61                    ::unity::OptionalMethod,
62                ) -> () = ::core::mem::transmute(__vi.method_ptr);
63                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
64                __inner(
65                    __receiver,
66                    ::core::convert::Into::into(rm),
67                    ::core::convert::Into::into(provider),
68                    ::core::convert::Into::into(location),
69                    ::core::convert::Into::into(dep_op),
70                    __mi,
71                )
72            }
73        }
74    }
75    #[doc = "`Init(crate::unity_engine::resource_management::resourcemanager::ResourceManager, crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider, crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>>, bool)` overload"]
76    fn init_2(
77        self,
78        rm: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
79        provider: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider>,
80        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
81        dep_op: impl ::core::convert::Into<
82            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
83                crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
84                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
85                >,
86            >,
87        >,
88        release_dependencies_on_failure: impl ::core::convert::Into<bool>,
89    ) -> () {
90        unsafe {
91            let __receiver =
92                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
93            {
94                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
95                let __vi = *__vt.get(1usize).unwrap_or_else(|| {
96                    panic!(
97                        "unity: virtual slot {}
98 out of range (vtable len {}
99) on the runtime class behind {}
100 (method `{}
101`)",
102                        1usize,
103                        __vt.len(),
104                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
105                        "Init",
106                    )
107                });
108                let __inner: extern "C" fn(
109                    IGenericProviderOperation,
110                    crate::unity_engine::resource_management::resourcemanager::ResourceManager,
111                    crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider,
112                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
113                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
114                        crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
115                            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
116                        >,
117                    >,
118                    bool,
119                    ::unity::OptionalMethod,
120                ) -> () = ::core::mem::transmute(__vi.method_ptr);
121                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
122                __inner(
123                    __receiver,
124                    ::core::convert::Into::into(rm),
125                    ::core::convert::Into::into(provider),
126                    ::core::convert::Into::into(location),
127                    ::core::convert::Into::into(dep_op),
128                    ::core::convert::Into::into(release_dependencies_on_failure),
129                    __mi,
130                )
131            }
132        }
133    }
134    #[doc = "`get_ProvideHandleVersion()` overload"]
135    fn get_provide_handle_version(self) -> i32 {
136        unsafe {
137            let __receiver =
138                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
139            {
140                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
141                let __vi = *__vt.get(2usize).unwrap_or_else(|| {
142                    panic!(
143                        "unity: virtual slot {}
144 out of range (vtable len {}
145) on the runtime class behind {}
146 (method `{}
147`)",
148                        2usize,
149                        __vt.len(),
150                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
151                        "get_ProvideHandleVersion",
152                    )
153                });
154                let __inner: extern "C" fn(IGenericProviderOperation, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
155                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
156                __inner(__receiver, __mi)
157            }
158        }
159    }
160    #[doc = "`get_Location()` overload"]
161    fn get_location(self) -> crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation {
162        unsafe {
163            let __receiver =
164                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
165            {
166                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
167                let __vi = *__vt.get(3usize).unwrap_or_else(|| {
168                    panic!(
169                        "unity: virtual slot {}
170 out of range (vtable len {}
171) on the runtime class behind {}
172 (method `{}
173`)",
174                        3usize,
175                        __vt.len(),
176                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
177                        "get_Location",
178                    )
179                });
180                let __inner: extern "C" fn(
181                    IGenericProviderOperation,
182                    ::unity::OptionalMethod,
183                )
184                    -> crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation =
185                    ::core::mem::transmute(__vi.method_ptr);
186                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
187                __inner(__receiver, __mi)
188            }
189        }
190    }
191    #[doc = "`get_DependencyCount()` overload"]
192    fn get_dependency_count(self) -> i32 {
193        unsafe {
194            let __receiver =
195                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
196            {
197                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
198                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
199                    panic!(
200                        "unity: virtual slot {}
201 out of range (vtable len {}
202) on the runtime class behind {}
203 (method `{}
204`)",
205                        4usize,
206                        __vt.len(),
207                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
208                        "get_DependencyCount",
209                    )
210                });
211                let __inner: extern "C" fn(IGenericProviderOperation, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
212                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
213                __inner(__receiver, __mi)
214            }
215        }
216    }
217    #[doc = "`GetDependencies(crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::system::object::Object>)` overload"]
218    fn get_dependencies(
219        self,
220        dst_list: impl ::core::convert::Into<crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::system::object::Object>>,
221    ) -> () {
222        unsafe {
223            let __receiver =
224                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
225            {
226                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
227                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
228                    panic!(
229                        "unity: virtual slot {}
230 out of range (vtable len {}
231) on the runtime class behind {}
232 (method `{}
233`)",
234                        5usize,
235                        __vt.len(),
236                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
237                        "GetDependencies",
238                    )
239                });
240                let __inner: extern "C" fn(
241                    IGenericProviderOperation,
242                    crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::system::object::Object>,
243                    ::unity::OptionalMethod,
244                ) -> () = ::core::mem::transmute(__vi.method_ptr);
245                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
246                __inner(__receiver, ::core::convert::Into::into(dst_list), __mi)
247            }
248        }
249    }
250    fn get_dependency<M0: ::unity::IlType + ::core::marker::Copy + ::unity::ClassIdentity>(self, index: impl ::core::convert::Into<i32>) -> M0 {
251        static OPEN: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
252            ::unity::lookup::method_info_on_class(<IGenericProviderOperation as ::unity::ClassIdentity>::class(), "GetDependency", 1)
253        });
254        #[allow(clippy::type_complexity)]
255        static CACHE: ::std::sync::OnceLock<::std::sync::Mutex<::std::collections::HashMap<usize, &'static ::unity::il2cpp::MethodInfo>>> =
256            ::std::sync::OnceLock::new();
257        let _ = false;
258        let __open: &'static ::unity::il2cpp::MethodInfo = match &*OPEN {
259            ::core::result::Result::Ok(mi) => *mi,
260            ::core::result::Result::Err(e) => {
261                panic!(
262                    "method lookup failed: {}
263::{}
264: {}
265",
266                    <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
267                    "GetDependency",
268                    e
269                )
270            },
271        };
272        let __cache = CACHE.get_or_init(|| ::std::sync::Mutex::new(::std::collections::HashMap::new()));
273        let __key: usize = <M0 as ::unity::IlType>::il_type() as *const _ as usize;
274        let __inflated: &'static ::unity::il2cpp::MethodInfo = {
275            let mut __guard = __cache.lock().unwrap();
276            *__guard
277                .entry(__key)
278                .or_insert_with(|| ::unity::il2cpp::generic::create_generic_method_info(__open, &[<M0 as ::unity::IlType>::il_type()]))
279        };
280        unsafe {
281            let __receiver =
282                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
283            let __f: extern "C" fn(IGenericProviderOperation, i32, ::unity::OptionalMethod) -> M0 = ::core::mem::transmute(__inflated.method_ptr);
284            let __mi_opaque: &'static () = &*(__inflated as *const _ as *const ());
285            __f(__receiver, ::core::convert::Into::into(index), ::core::option::Option::Some(__mi_opaque))
286        }
287    }
288    #[doc = "`SetProgressCallback(crate::system::func_1::Func_1<f32>)` overload"]
289    fn set_progress_callback(self, callback: impl ::core::convert::Into<crate::system::func_1::Func_1<f32>>) -> () {
290        unsafe {
291            let __receiver =
292                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
293            {
294                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
295                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
296                    panic!(
297                        "unity: virtual slot {}
298 out of range (vtable len {}
299) on the runtime class behind {}
300 (method `{}
301`)",
302                        7usize,
303                        __vt.len(),
304                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
305                        "SetProgressCallback",
306                    )
307                });
308                let __inner: extern "C" fn(IGenericProviderOperation, crate::system::func_1::Func_1<f32>, ::unity::OptionalMethod) -> () =
309                    ::core::mem::transmute(__vi.method_ptr);
310                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
311                __inner(__receiver, ::core::convert::Into::into(callback), __mi)
312            }
313        }
314    }
315    #[doc = "`get_RequestedType()` overload"]
316    fn get_requested_type(self) -> ::unity::SystemType {
317        unsafe {
318            let __receiver =
319                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
320            {
321                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
322                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
323                    panic!(
324                        "unity: virtual slot {}
325 out of range (vtable len {}
326) on the runtime class behind {}
327 (method `{}
328`)",
329                        9usize,
330                        __vt.len(),
331                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
332                        "get_RequestedType",
333                    )
334                });
335                let __inner: extern "C" fn(IGenericProviderOperation, ::unity::OptionalMethod) -> ::unity::SystemType =
336                    ::core::mem::transmute(__vi.method_ptr);
337                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
338                __inner(__receiver, __mi)
339            }
340        }
341    }
342    #[doc = "`SetDownloadProgressCallback(crate::system::func_1::Func_1<crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus>)` overload"]
343    fn set_download_progress_callback(
344        self,
345        callback: impl ::core::convert::Into<
346            crate::system::func_1::Func_1<crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus>,
347        >,
348    ) -> () {
349        unsafe {
350            let __receiver =
351                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
352            {
353                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
354                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
355                    panic!(
356                        "unity: virtual slot {}
357 out of range (vtable len {}
358) on the runtime class behind {}
359 (method `{}
360`)",
361                        10usize,
362                        __vt.len(),
363                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
364                        "SetDownloadProgressCallback",
365                    )
366                });
367                let __inner: extern "C" fn(
368                    IGenericProviderOperation,
369                    crate::system::func_1::Func_1<crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus>,
370                    ::unity::OptionalMethod,
371                ) -> () = ::core::mem::transmute(__vi.method_ptr);
372                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
373                __inner(__receiver, ::core::convert::Into::into(callback), __mi)
374            }
375        }
376    }
377    #[doc = "`SetWaitForCompletionCallback(crate::system::func_1::Func_1<bool>)` overload"]
378    fn set_wait_for_completion_callback(self, callback: impl ::core::convert::Into<crate::system::func_1::Func_1<bool>>) -> () {
379        unsafe {
380            let __receiver =
381                <IGenericProviderOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
382            {
383                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
384                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
385                    panic!(
386                        "unity: virtual slot {}
387 out of range (vtable len {}
388) on the runtime class behind {}
389 (method `{}
390`)",
391                        11usize,
392                        __vt.len(),
393                        <IGenericProviderOperation as ::unity::ClassIdentity>::NAME,
394                        "SetWaitForCompletionCallback",
395                    )
396                });
397                let __inner: extern "C" fn(IGenericProviderOperation, crate::system::func_1::Func_1<bool>, ::unity::OptionalMethod) -> () =
398                    ::core::mem::transmute(__vi.method_ptr);
399                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
400                __inner(__receiver, ::core::convert::Into::into(callback), __mi)
401            }
402        }
403    }
404}
405
406#[cfg(feature = "unity_engine-resource_management-async_operations-igenericprovideroperation")]
407impl<__T: IIGenericProviderOperation> IIGenericProviderOperationMethods for __T {}
408
409#[cfg(feature = "unity_engine-resource_management-async_operations-igenericprovideroperation")]
410impl IGenericProviderOperation {
411    pub fn init_method_info() -> &'static ::unity::il2cpp::MethodInfo {
412        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
413    }
414
415    pub fn init_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
416        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
417    }
418
419    pub fn get_provide_handle_version_method_info() -> &'static ::unity::il2cpp::MethodInfo {
420        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
421    }
422
423    pub fn get_location_method_info() -> &'static ::unity::il2cpp::MethodInfo {
424        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
425    }
426
427    pub fn get_dependency_count_method_info() -> &'static ::unity::il2cpp::MethodInfo {
428        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
429    }
430
431    pub fn get_dependencies_method_info() -> &'static ::unity::il2cpp::MethodInfo {
432        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
433    }
434
435    pub fn set_progress_callback_method_info() -> &'static ::unity::il2cpp::MethodInfo {
436        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
437    }
438
439    pub fn get_requested_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
440        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
441    }
442
443    pub fn set_download_progress_callback_method_info() -> &'static ::unity::il2cpp::MethodInfo {
444        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
445    }
446
447    pub fn set_wait_for_completion_callback_method_info() -> &'static ::unity::il2cpp::MethodInfo {
448        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
449    }
450}
451
452#[cfg(feature = "unity_engine-resource_management-async_operations-igenericprovideroperation")]
453impl IGenericProviderOperation {
454    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `Init`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
455    pub unsafe fn init(
456        this: impl ::core::convert::Into<::unity::IlInstance>,
457        rm: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
458        provider: crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider,
459        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
460        dep_op: crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
461            crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
462                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
463            >,
464        >,
465    ) -> () {
466        let __mi = Self::init_method_info();
467        let __inner: extern "C" fn(
468            ::unity::IlInstance,
469            crate::unity_engine::resource_management::resourcemanager::ResourceManager,
470            crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider,
471            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
472            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
473                crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
474                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
475                >,
476            >,
477            ::unity::OptionalMethod,
478        ) -> () = ::core::mem::transmute(__mi.method_ptr);
479        __inner(this.into(), rm, provider, location, dep_op, ::core::option::Option::None)
480    }
481
482    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `Init`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
483    pub unsafe fn init_2(
484        this: impl ::core::convert::Into<::unity::IlInstance>,
485        rm: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
486        provider: crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider,
487        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
488        dep_op: crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
489            crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
490                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
491            >,
492        >,
493        release_dependencies_on_failure: bool,
494    ) -> () {
495        let __mi = Self::init_2_method_info();
496        let __inner: extern "C" fn(
497            ::unity::IlInstance,
498            crate::unity_engine::resource_management::resourcemanager::ResourceManager,
499            crate::unity_engine::resource_management::resource_providers::iresourceprovider::IResourceProvider,
500            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
501            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
502                crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
503                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
504                >,
505            >,
506            bool,
507            ::unity::OptionalMethod,
508        ) -> () = ::core::mem::transmute(__mi.method_ptr);
509        __inner(
510            this.into(),
511            rm,
512            provider,
513            location,
514            dep_op,
515            release_dependencies_on_failure,
516            ::core::option::Option::None,
517        )
518    }
519
520    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `get_ProvideHandleVersion`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
521    pub unsafe fn get_provide_handle_version(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
522        let __mi = Self::get_provide_handle_version_method_info();
523        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
524        __inner(this.into(), ::core::option::Option::None)
525    }
526
527    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `get_Location`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
528    pub unsafe fn get_location(
529        this: impl ::core::convert::Into<::unity::IlInstance>,
530    ) -> crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation {
531        let __mi = Self::get_location_method_info();
532        let __inner: extern "C" fn(
533            ::unity::IlInstance,
534            ::unity::OptionalMethod,
535        ) -> crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation =
536            ::core::mem::transmute(__mi.method_ptr);
537        __inner(this.into(), ::core::option::Option::None)
538    }
539
540    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `get_DependencyCount`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
541    pub unsafe fn get_dependency_count(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
542        let __mi = Self::get_dependency_count_method_info();
543        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
544        __inner(this.into(), ::core::option::Option::None)
545    }
546
547    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `GetDependencies`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
548    pub unsafe fn get_dependencies(
549        this: impl ::core::convert::Into<::unity::IlInstance>,
550        dst_list: crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::system::object::Object>,
551    ) -> () {
552        let __mi = Self::get_dependencies_method_info();
553        let __inner: extern "C" fn(
554            ::unity::IlInstance,
555            crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::system::object::Object>,
556            ::unity::OptionalMethod,
557        ) -> () = ::core::mem::transmute(__mi.method_ptr);
558        __inner(this.into(), dst_list, ::core::option::Option::None)
559    }
560
561    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `SetProgressCallback`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
562    pub unsafe fn set_progress_callback(this: impl ::core::convert::Into<::unity::IlInstance>, callback: crate::system::func_1::Func_1<f32>) -> () {
563        let __mi = Self::set_progress_callback_method_info();
564        let __inner: extern "C" fn(::unity::IlInstance, crate::system::func_1::Func_1<f32>, ::unity::OptionalMethod) -> () =
565            ::core::mem::transmute(__mi.method_ptr);
566        __inner(this.into(), callback, ::core::option::Option::None)
567    }
568
569    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `get_RequestedType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
570    pub unsafe fn get_requested_type(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::SystemType {
571        let __mi = Self::get_requested_type_method_info();
572        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
573        __inner(this.into(), ::core::option::Option::None)
574    }
575
576    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `SetDownloadProgressCallback`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
577    pub unsafe fn set_download_progress_callback(
578        this: impl ::core::convert::Into<::unity::IlInstance>,
579        callback: crate::system::func_1::Func_1<crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus>,
580    ) -> () {
581        let __mi = Self::set_download_progress_callback_method_info();
582        let __inner: extern "C" fn(
583            ::unity::IlInstance,
584            crate::system::func_1::Func_1<crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus>,
585            ::unity::OptionalMethod,
586        ) -> () = ::core::mem::transmute(__mi.method_ptr);
587        __inner(this.into(), callback, ::core::option::Option::None)
588    }
589
590    #[doc = "Direct (non-virtual) call to `IGenericProviderOperation`'s own `SetWaitForCompletionCallback`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
591    pub unsafe fn set_wait_for_completion_callback(
592        this: impl ::core::convert::Into<::unity::IlInstance>,
593        callback: crate::system::func_1::Func_1<bool>,
594    ) -> () {
595        let __mi = Self::set_wait_for_completion_callback_method_info();
596        let __inner: extern "C" fn(::unity::IlInstance, crate::system::func_1::Func_1<bool>, ::unity::OptionalMethod) -> () =
597            ::core::mem::transmute(__mi.method_ptr);
598        __inner(this.into(), callback, ::core::option::Option::None)
599    }
600}
601
602#[cfg(feature = "unity_engine-resource_management-async_operations-igenericprovideroperation")]
603#[doc(hidden)]
604pub mod prelude {
605    pub use super::{IGenericProviderOperation, IIGenericProviderOperation, IIGenericProviderOperationMethods};
606}