Skip to main content

emf_core_base_rs/fn_caster/
module.rs

1//! Casters for the module api.
2use crate::ffi::module::api;
3use crate::ffi::{CBaseFn, FnId};
4use crate::fn_caster::FnCaster;
5
6/// Caster for [FnId::ModuleRegisterLoader]
7#[derive(Debug)]
8pub struct RegisterLoaderCaster {}
9
10/// Caster for [FnId::ModuleUnregisterLoader]
11#[derive(Debug)]
12pub struct UnregisterLoaderCaster {}
13
14/// Caster for [FnId::ModuleGetLoaderInterface]
15#[derive(Debug)]
16pub struct GetLoaderInterfaceCaster {}
17
18/// Caster for [FnId::ModuleGetLoaderHandleFromType]
19#[derive(Debug)]
20pub struct GetLoaderHandleFromTypeCaster {}
21
22/// Caster for [FnId::ModuleGetLoaderHandleFromModule]
23#[derive(Debug)]
24pub struct GetLoaderHandleFromModuleCaster {}
25
26/// Caster for [FnId::ModuleGetNumModules]
27#[derive(Debug)]
28pub struct GetNumModulesCaster {}
29
30/// Caster for [FnId::ModuleGetNumLoaders]
31#[derive(Debug)]
32pub struct GetNumLoadersCaster {}
33
34/// Caster for [FnId::ModuleGetNumExportedInterfaces]
35#[derive(Debug)]
36pub struct GetNumExportedInterfacesCaster {}
37
38/// Caster for [FnId::ModuleModuleExists]
39#[derive(Debug)]
40pub struct ModuleExistsCaster {}
41
42/// Caster for [FnId::ModuleTypeExists]
43#[derive(Debug)]
44pub struct TypeExistsCaster {}
45
46/// Caster for [FnId::ModuleExportedInterfaceExists]
47#[derive(Debug)]
48pub struct ExportedInterfaceExistsCaster {}
49
50/// Caster for [FnId::ModuleGetModules]
51#[derive(Debug)]
52pub struct GetModulesCaster {}
53
54/// Caster for [FnId::ModuleGetModuleTypes]
55#[derive(Debug)]
56pub struct GetModuleTypesCaster {}
57
58/// Caster for [FnId::ModuleGetExportedInterfaces]
59#[derive(Debug)]
60pub struct GetExportedInterfacesCaster {}
61
62/// Caster for [FnId::ModuleGetExportedInterfaceHandle]
63#[derive(Debug)]
64pub struct GetExportedInterfaceHandleCaster {}
65
66/// Caster for [FnId::ModuleCreateModuleHandle]
67#[derive(Debug)]
68pub struct CreateModuleHandleCaster {}
69
70/// Caster for [FnId::ModuleRemoveModuleHandle]
71#[derive(Debug)]
72pub struct RemoveModuleHandleCaster {}
73
74/// Caster for [FnId::ModuleLinkModule]
75#[derive(Debug)]
76pub struct LinkModuleCaster {}
77
78/// Caster for [FnId::ModuleGetInternalModuleHandle]
79#[derive(Debug)]
80pub struct GetInternalModuleHandleCaster {}
81
82/// Caster for [FnId::ModuleAddModule]
83#[derive(Debug)]
84pub struct AddModuleCaster {}
85
86/// Caster for [FnId::ModuleRemoveModule]
87#[derive(Debug)]
88pub struct RemoveModuleCaster {}
89
90/// Caster for [FnId::ModuleLoad]
91#[derive(Debug)]
92pub struct LoadCaster {}
93
94/// Caster for [FnId::ModuleUnload]
95#[derive(Debug)]
96pub struct UnloadCaster {}
97
98/// Caster for [FnId::ModuleInitialize]
99#[derive(Debug)]
100pub struct InitializeCaster {}
101
102/// Caster for [FnId::ModuleTerminate]
103#[derive(Debug)]
104pub struct TerminateCaster {}
105
106/// Caster for [FnId::ModuleAddDependency]
107#[derive(Debug)]
108pub struct AddDependencyCaster {}
109
110/// Caster for [FnId::ModuleRemoveDependency]
111#[derive(Debug)]
112pub struct RemoveDependencyCaster {}
113
114/// Caster for [FnId::ModuleExportInterface]
115#[derive(Debug)]
116pub struct ExportInterfaceCaster {}
117
118/// Caster for [FnId::ModuleGetLoadDependencies]
119#[derive(Debug)]
120pub struct GetLoadDependenciesCaster {}
121
122/// Caster for [FnId::ModuleGetRuntimeDependencies]
123#[derive(Debug)]
124pub struct GetRuntimeDependenciesCaster {}
125
126/// Caster for [FnId::ModuleGetExportableInterfaces]
127#[derive(Debug)]
128pub struct GetExportableInterfacesCaster {}
129
130/// Caster for [FnId::ModuleFetchStatus]
131#[derive(Debug)]
132pub struct FetchStatusCaster {}
133
134/// Caster for [FnId::ModuleGetModulePath]
135#[derive(Debug)]
136pub struct GetModulePathCaster {}
137
138/// Caster for [FnId::ModuleGetModuleInfo]
139#[derive(Debug)]
140pub struct GetModuleInfoCaster {}
141
142/// Caster for [FnId::ModuleGetInterface]
143#[derive(Debug)]
144pub struct GetInterfaceCaster {}
145
146transmute_caster!(
147    RegisterLoaderCaster,
148    api::RegisterLoaderFn,
149    FnId::ModuleRegisterLoader
150);
151
152transmute_caster!(
153    UnregisterLoaderCaster,
154    api::UnregisterLoaderFn,
155    FnId::ModuleUnregisterLoader
156);
157
158transmute_caster!(
159    GetLoaderInterfaceCaster,
160    api::GetLoaderInterfaceFn,
161    FnId::ModuleGetLoaderInterface
162);
163
164transmute_caster!(
165    GetLoaderHandleFromTypeCaster,
166    api::GetLoaderHandleFromTypeFn,
167    FnId::ModuleGetLoaderHandleFromType
168);
169
170transmute_caster!(
171    GetLoaderHandleFromModuleCaster,
172    api::GetLoaderHandleFromModuleFn,
173    FnId::ModuleGetLoaderHandleFromModule
174);
175
176transmute_caster!(
177    GetNumModulesCaster,
178    api::GetNumModulesFn,
179    FnId::ModuleGetNumModules
180);
181
182transmute_caster!(
183    GetNumLoadersCaster,
184    api::GetNumLoadersFn,
185    FnId::ModuleGetNumLoaders
186);
187
188transmute_caster!(
189    GetNumExportedInterfacesCaster,
190    api::GetNumExportedInterfacesFn,
191    FnId::ModuleGetNumExportedInterfaces
192);
193
194transmute_caster!(
195    ModuleExistsCaster,
196    api::ModuleExistsFn,
197    FnId::ModuleModuleExists
198);
199
200transmute_caster!(TypeExistsCaster, api::TypeExistsFn, FnId::ModuleTypeExists);
201
202transmute_caster!(
203    ExportedInterfaceExistsCaster,
204    api::ExportedInterfaceExistsFn,
205    FnId::ModuleExportedInterfaceExists
206);
207
208transmute_caster!(GetModulesCaster, api::GetModulesFn, FnId::ModuleGetModules);
209
210transmute_caster!(
211    GetModuleTypesCaster,
212    api::GetModuleTypesFn,
213    FnId::ModuleGetModuleTypes
214);
215
216transmute_caster!(
217    GetExportedInterfacesCaster,
218    api::GetExportedInterfacesFn,
219    FnId::ModuleGetExportedInterfaces
220);
221
222transmute_caster!(
223    GetExportedInterfaceHandleCaster,
224    api::GetExportedInterfaceHandleFn,
225    FnId::ModuleGetExportedInterfaceHandle
226);
227
228transmute_caster!(
229    CreateModuleHandleCaster,
230    api::CreateModuleHandleFn,
231    FnId::ModuleCreateModuleHandle
232);
233
234transmute_caster!(
235    RemoveModuleHandleCaster,
236    api::RemoveModuleHandleFn,
237    FnId::ModuleRemoveModuleHandle
238);
239
240transmute_caster!(LinkModuleCaster, api::LinkModuleFn, FnId::ModuleLinkModule);
241
242transmute_caster!(
243    GetInternalModuleHandleCaster,
244    api::GetInternalModuleHandleFn,
245    FnId::ModuleGetInternalModuleHandle
246);
247
248transmute_caster!(AddModuleCaster, api::AddModuleFn, FnId::ModuleAddModule);
249
250transmute_caster!(
251    RemoveModuleCaster,
252    api::RemoveModuleFn,
253    FnId::ModuleRemoveModule
254);
255
256transmute_caster!(LoadCaster, api::LoadFn, FnId::ModuleLoad);
257
258transmute_caster!(UnloadCaster, api::UnloadFn, FnId::ModuleUnload);
259
260transmute_caster!(InitializeCaster, api::InitializeFn, FnId::ModuleInitialize);
261
262transmute_caster!(TerminateCaster, api::TerminateFn, FnId::ModuleTerminate);
263
264transmute_caster!(
265    AddDependencyCaster,
266    api::AddDependencyFn,
267    FnId::ModuleAddDependency
268);
269
270transmute_caster!(
271    RemoveDependencyCaster,
272    api::RemoveDependencyFn,
273    FnId::ModuleRemoveDependency
274);
275
276transmute_caster!(
277    ExportInterfaceCaster,
278    api::ExportInterfaceFn,
279    FnId::ModuleExportInterface
280);
281
282transmute_caster!(
283    GetLoadDependenciesCaster,
284    api::GetLoadDependenciesFn,
285    FnId::ModuleGetLoadDependencies
286);
287
288transmute_caster!(
289    GetRuntimeDependenciesCaster,
290    api::GetRuntimeDependenciesFn,
291    FnId::ModuleGetRuntimeDependencies
292);
293
294transmute_caster!(
295    GetExportableInterfacesCaster,
296    api::GetExportableInterfacesFn,
297    FnId::ModuleGetExportableInterfaces
298);
299
300transmute_caster!(
301    FetchStatusCaster,
302    api::FetchStatusFn,
303    FnId::ModuleFetchStatus
304);
305
306transmute_caster!(
307    GetModulePathCaster,
308    api::GetModulePathFn,
309    FnId::ModuleGetModulePath
310);
311
312transmute_caster!(
313    GetModuleInfoCaster,
314    api::GetModuleInfoFn,
315    FnId::ModuleGetModuleInfo
316);
317
318transmute_caster!(
319    GetInterfaceCaster,
320    api::GetInterfaceFn,
321    FnId::ModuleGetInterface
322);