naev 0.12.6
plugin.c File Reference

Handles plugins to augment data. More...

#include "plugin.h"
#include <pcre2.h>
#include "array.h"
#include "log.h"
#include "nfile.h"
#include "nxml.h"
#include "physfs_archiver_blacklist.h"
Include dependency graph for plugin.c:

Go to the source code of this file.

Macros

#define PCRE2_CODE_UNIT_WIDTH   8
#define MELEMENT(o, s)

Functions

static int plugin_parse (plugin_t *plg, const char *file, const char *path, int apply)
 Parses a plugin description file.
plugin_tplugin_test (const char *filename)
 Tests to see if a file is a plugin and loads information.
static int plugin_cmp (const void *a, const void *b)
 For qsort on plugins.
const char * plugin_dir (void)
 Gets the plugin directory.
int plugin_init (void)
 Initialize and loads all the available plugins.
void plugin_insert (plugin_t *plg)
 Inserts a plugin to the list, but does not properly enable it (requires restart).
void plugin_exit (void)
 Exits the plugin stuff.
const char * plugin_name (const plugin_t *plg)
 Tries to tget the name of a plugin.
void plugin_free (plugin_t *plg)
 Frees a previously allocated plugin.
int plugin_check (void)
 Checks to see if the plugins are self-declared compatible with Naev.
const plugin_tplugin_list (void)
 Returns the list of all the plugins.

Variables

static plugin_tplugins

Detailed Description

Handles plugins to augment data.

Definition in file plugin.c.

Macro Definition Documentation

◆ MELEMENT

#define MELEMENT ( o,
s )
Value:
if ( o ) \
WARN( _( "Plugin '%s' missing/invalid '%s' element" ), plg->name, \
s )

◆ PCRE2_CODE_UNIT_WIDTH

#define PCRE2_CODE_UNIT_WIDTH   8

Definition at line 17 of file plugin.c.

Function Documentation

◆ plugin_check()

int plugin_check ( void )

Checks to see if the plugins are self-declared compatible with Naev.

Returns
Number of incompatible plugins.

Definition at line 341 of file plugin.c.

◆ plugin_cmp()

int plugin_cmp ( const void * a,
const void * b )
static

For qsort on plugins.

Definition at line 180 of file plugin.c.

◆ plugin_dir()

const char * plugin_dir ( void )

Gets the plugin directory.

Definition at line 196 of file plugin.c.

◆ plugin_exit()

void plugin_exit ( void )

Exits the plugin stuff.

Definition at line 299 of file plugin.c.

◆ plugin_free()

void plugin_free ( plugin_t * plg)

Frees a previously allocated plugin.

Definition at line 325 of file plugin.c.

◆ plugin_init()

int plugin_init ( void )

Initialize and loads all the available plugins.

Returns
0 on success.

Definition at line 208 of file plugin.c.

◆ plugin_insert()

void plugin_insert ( plugin_t * plg)

Inserts a plugin to the list, but does not properly enable it (requires restart).

Definition at line 291 of file plugin.c.

◆ plugin_list()

const plugin_t * plugin_list ( void )

Returns the list of all the plugins.

Returns
List of the loaded plugins.

Definition at line 396 of file plugin.c.

◆ plugin_name()

const char * plugin_name ( const plugin_t * plg)

Tries to tget the name of a plugin.

Parameters
plgPlugin to try to get name of.
Returns
Name of the plugin.

Definition at line 315 of file plugin.c.

◆ plugin_parse()

int plugin_parse ( plugin_t * plg,
const char * file,
const char * path,
int apply )
static

Parses a plugin description file.

Definition at line 84 of file plugin.c.

◆ plugin_test()

plugin_t * plugin_test ( const char * filename)

Tests to see if a file is a plugin and loads information.

Definition at line 37 of file plugin.c.

Variable Documentation

◆ plugins

plugin_t* plugins
static

The list of active plugins.

Definition at line 26 of file plugin.c.