IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
module_info.hxx
Go to the documentation of this file.
1
3
4#pragma once
6
7namespace ice
8{
9
16
29
32 struct ModuleAPI
33 {
35 void* api_ptr;
36
39
42 };
43
44} // namespace ice
SPDX-License-Identifier: MIT.
Definition array.hxx:12
void(ice::Allocator *, ice::ModuleNegotiatorAPIContext *, ice::ModuleNegotiatorAPI *) FnModuleLoad
Definition module_types.hxx:23
void(ice::Allocator *) FnModuleUnload
Definition module_types.hxx:24
std::uint32_t u32
Definition types.hxx:26
Stores information about a single API entry.
Definition module_info.hxx:33
void * api_ptr
Pointer to an API structure holding functions to be called.
Definition module_info.hxx:35
ice::u32 priority
Arbitrary priority of the API. Can be used to wrap existing APIs with additional functionality.
Definition module_info.hxx:41
ice::u32 version
Version of the API.
Definition module_info.hxx:38
Stores information of module load and unload functions.
Definition module_info.hxx:12
ice::FnModuleUnload *const fn_unload
Definition module_info.hxx:14
ice::FnModuleLoad *const fn_load
Definition module_info.hxx:13
ModulesEntry(ice::FnModuleLoad *fn_load, ice::FnModuleUnload *fn_unload) noexcept
ModulesEntry const *const next
Allows to setup a list of modules without allocation before entering the "main" routine.
Definition module_info.hxx:27