AWE Core OS 8.B.23 Documentation
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
AWEPluginLoader.h File Reference
#include "AWEPluginTypes.h"
#include <stdarg.h>
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  _awe_PluginLoaderMethods
 Method table to provide overrides to awe_PluginLoader_initWithMethods. More...
 

Macros

#define AWE_PLUGIN_LOADER_MAX_PATH_LENGTH   (1024)
 Maximum length for library paths passed to awe_PluginLoader_load.
 

Typedefs

typedef struct _awe_PluginLoaderMethods awe_PluginLoaderMethods
 Method table to provide overrides to awe_PluginLoader_initWithMethods.
 

Enumerations

enum  awe_PluginLoader_Status {
  AWE_PLUGIN_LOADER_SUCCESS = 0 , AWE_PLUGIN_LOADER_UNINITIALIZED = -1 , AWE_PLUGIN_LOADER_ALREADY_INITIALIZED = -2 , AWE_PLUGIN_LOADER_MISSING_METHOD = -3 ,
  AWE_PLUGIN_LOADER_ALLOCATION_FAILED = -4 , AWE_PLUGIN_LOADER_INVALID_INDEX = -5 , AWE_PLUGIN_LOADER_DL_OPEN_FAILED = -6 , AWE_PLUGIN_LOADER_DL_SYMBOL_NOT_FOUND = -7 ,
  AWE_PLUGIN_LOADER_DL_INTERNAL_FAILURE = -8 , AWE_PLUGIN_LOADER_LIBRARY_FILE_NAME_TOO_LONG = -9
}
 Possible statuses which may be returned by plugin loader API functions. More...
 

Functions

enum awe_PluginLoader_Status awe_PluginLoader_init (size_t reserved_count)
 Initialize the plugin loader.
 
enum awe_PluginLoader_Status awe_PluginLoader_initWithMethods (size_t reserved_count, const awe_PluginLoaderMethods *const overrides)
 Initialize the plugin loader with a set of override callbacks.
 
enum awe_PluginLoader_Status awe_PluginLoader_load (const AWEPlugin **plugin, const char *file)
 Load a plugin library.
 
enum awe_PluginLoader_Status awe_PluginLoader_unload (const char *file)
 Unload a plugin library.
 
enum awe_PluginLoader_Status awe_PluginLoader_loadWithNamespacePrefix (const AWEPlugin **plugin, const char *file, const char *prefix)
 Load a plugin library with a namespaced entrypoint name.
 
enum awe_PluginLoader_Status awe_PluginLoader_loadWithEntrypoint (const AWEPlugin **plugin, const char *file, const char *entrypoint)
 Load a plugin library with a custom entrypoint name.
 
size_t awe_PluginLoader_count ()
 Get the number of currently loaded plugins.
 
enum awe_PluginLoader_Status awe_PluginLoader_get (const AWEPlugin **plugin, size_t index)
 Retrieve a loaded plugin by index.
 
enum awe_PluginLoader_Status awe_PluginLoader_find (const AWEPlugin **plugin, const char *file)
 Retrieve a loaded plugin by file name.
 
void awe_PluginLoader_free ()
 Clean up the plugin loader.
 
const char * awe_PluginLoader_statusToString (const enum awe_PluginLoader_Status status)
 Get a description of the given status.