28#ifndef AWE_PLUGIN_TYPES_H
29#define AWE_PLUGIN_TYPES_H
45#define AWE_PLUGIN_API_VERSION_MAX_LENGTH 63
52#define AWE_PLUGIN_API_VERSION "1"
128 void* (*malloc)(
size_t size);
129 void* (*realloc)(
void* ptr,
size_t size);
131 void (*log)(int32_t level, uint32_t type,
const char* fmt, ...);
struct _AWEPluginModuleArray AWEPluginModuleArray
A list of module classes provided by a plugin.
struct _awe_PluginCallbacks awe_PluginCallbacks
Callbacks passed by the loader to each plugin entrypoint.
struct _AWEPlugin AWEPlugin
A struct encapsulating the functionality which can be provided by a plugin library.
A list of module classes provided by a plugin.
Definition: AWEPluginTypes.h:58
const void *const * array
Pointer to a contiguous array of module class pointers with count elements.
Definition: AWEPluginTypes.h:71
size_t count
Number of module classes in the array.
Definition: AWEPluginTypes.h:64
A struct encapsulating the functionality which can be provided by a plugin library.
Definition: AWEPluginTypes.h:81
AWEPluginModuleArray modules
List of module classes provided by the plugin.
Definition: AWEPluginTypes.h:106
const char * name
Optional plugin name.
Definition: AWEPluginTypes.h:101
const char * pluginVersion
Optional plugin version.
Definition: AWEPluginTypes.h:94
void(* cleanup)(const struct _AWEPlugin *)
Optional destructor.
Definition: AWEPluginTypes.h:114
const char * apiVersion
API version that this plugin was built with.
Definition: AWEPluginTypes.h:87
Callbacks passed by the loader to each plugin entrypoint.
Definition: AWEPluginTypes.h:126
bool(* checkApiVersion)(const char *version)
Used to verify compatibility with the loader's API version.
Definition: AWEPluginTypes.h:127
void(* free)(void *ptr)
Free dynamic memory.
Definition: AWEPluginTypes.h:130