carb::FindPluginsArgs

Defined in carb/FindPlugins.h

struct FindPluginsArgs

Arguments that are passed to findPlugins().

Public Members

const char *const *searchPaths

Search folders to look for plugins in.

This may contain relative or absolute paths. All relative paths will be resolved relative to carb::filesystem::IFileSystem::getAppDirectoryPath(), not the current working directory. Absolute paths in the list will be searched directly.

If search paths configuration is invalid (e.g. search paths count is zero), the fall-back values are taken from the default plugin desc.

May be nullptr.

size_t searchPathCount

Number of entries in searchPaths. May be 0.

bool searchRecursive

Search the given paths recursively if true.

const char *const *loadedFileWildcards

Filename wildcards to select loaded files. * and ? can be used, e.g. “carb.*.pl?gin”.

If nullptr, a reasonable default is used.

size_t loadedFileWildcardCount

Number of entries in loadedFileWildcards. May be 0.

const char *const *reloadableFileWildcards

Filename wildcards to mark loaded files as reloadable. Framework will treat them specially to allow overwriting source plugins and will monitor them for changes.

May be nullptr.

size_t reloadableFileWildcardCount

Number of entries in reloadableFileWildcards. May be 0.

const char *const *excludedFileWildcards

Filename wildcards to select excluded files. * and ? can be used.

May be nullptr.

size_t excludedFileWildcardCount

Number of entries in excludedFileWildcards. May be 0.

FindPluginsOnMatchedFn *onMatched

Callback when a file is matched but not excluded.

Warning

Must not be nullptr.

void *onMatchedContext

Context for onMatched. May be nullptr.

filesystem::FindFilesOnExcludedFn *onExcluded

Callback when a file is matched and excluded.

May be nullptr.

void *onExcludedContext

Context for onExcluded. May be nullptr.

filesystem::FindFilesOnSkippedFn *onSkipped

Callback when a file is not match one of the “loadedFileWildcard” patterns.

May be nullptr.

void *onSkippedContext

Context for onSkipped. May be nullptr.

filesystem::FindFilesOnSearchPathFn *onSearchPath

Callback invoked before searching one of the given directories.

May be nullptr.

void *onSearchPathContext

Context for onSearchPath. May be nullptr.

filesystem::IFileSystem *fs

IFileSystem object to use to walk the file system.

If nullptr, tryAcquireInterface<IFileSystem> is called.