Skip to content

Module Descriptor List

Module: AudioWeaver Core

Mutate the list of available module classes at runtime.

Classes

Name
struct _ModuleDescriptorListEntry
Element of _ModuleDescriptorList.
struct _ModuleDescriptorList
Linked list containing module descriptor entries.

Types

Name
typedef struct _ModuleDescriptorListEntry ModuleDescriptorListEntry
Element of _ModuleDescriptorList.
typedef struct _ModuleDescriptorList ModuleDescriptorList
Linked list containing module descriptor entries.

Functions

Name
bool awe_moduleDescriptorList_prepend(ModuleDescriptorList * list, ModuleDescriptorListEntry * entry)
Insert an entry at the beginning of the list.
bool awe_moduleDescriptorList_append(ModuleDescriptorList * list, ModuleDescriptorListEntry * entry)
Insert an entry at the end of the list.
ModuleDescriptorListEntry * awe_moduleDescriptorList_removeHead(ModuleDescriptorList * list)
Remove the first entry of the module descriptor list.

Types Documentation

typedef ModuleDescriptorListEntry

typedef struct _ModuleDescriptorListEntry ModuleDescriptorListEntry;

Element of _ModuleDescriptorList.

See: ModuleDescriptorList

Contains a pointer to an array of module descriptors (used by awe_moduleDescriptorList_* API functions).

typedef ModuleDescriptorList

typedef struct _ModuleDescriptorList ModuleDescriptorList;

Linked list containing module descriptor entries.

Should be initialized to zeros and manipulated with mutator functions.

Functions Documentation

function awe_moduleDescriptorList_prepend

bool awe_moduleDescriptorList_prepend(
    ModuleDescriptorList * list,
    ModuleDescriptorListEntry * entry
)

Insert an entry at the beginning of the list.

Parameters:

  • list ModuleDescriptorList to mutate.
  • entry Entry to prepend. Note that the list does not take ownership of the entry. If it was dynamically allocated, the caller is responsible for freeing it.

Return: True if the operation was successful, false otherwise.

function awe_moduleDescriptorList_append

bool awe_moduleDescriptorList_append(
    ModuleDescriptorList * list,
    ModuleDescriptorListEntry * entry
)

Insert an entry at the end of the list.

Parameters:

  • list ModuleDescriptorList to mutate.
  • entry Entry to append. Note that the list does not take ownership of the entry. If it was dynamically allocated, the caller is responsible for freeing it.

Return: True if the operation was successful, false otherwise.

function awe_moduleDescriptorList_removeHead

ModuleDescriptorListEntry * awe_moduleDescriptorList_removeHead(
    ModuleDescriptorList * list
)

Remove the first entry of the module descriptor list.

Parameters:

  • list ModuleDescriptorList to mutate.

Return: The entry which was removed, or NULL if the list is empty/invalid. If the entry was dynamically allocated, then it is now safe to free it.


Updated on 2026-02-10 at 15:44:29 -0500