An abstract class to be implemented by a client that will receive notifications from the compiler.
|Initializes private data members. More...|
|virtual void||loadedModules (const map< string, VuoCompilerModule * > &modulesAdded, const map< string, pair< VuoCompilerModule *, VuoCompilerModule * > > &modulesModified, const map< string, VuoCompilerModule * > &modulesRemoved, VuoCompilerIssues *issues)=0|
|This delegate function is invoked each time the compiler loads or unloads modules or encounters issues when trying to do so. More...|
|Signals that this delegate has finished using the argument values from loadedModules. More...|
This delegate function is invoked each time the compiler loads or unloads modules or encounters issues when trying to do so.
This function may be called as a result of a request for modules (e.g. VuoCompiler::getNodeClass()`) or a change to the files installed in the module search paths.
This function may be called multiple times in rapid succession with different modules passed as arguments, including when the compiler is loading modules for the first time. It is always called sequentially as opposed to concurrently; the next call won't happen until the current call returns.
Your implementation of this function is allowed to continue using the VuoCompilerModule and VuoCompilerIssues values that were passed as arguments after the function returns (for example, if the function schedules work to be done asynchronously).
For each call to this function, you must make a corresponding call to loadedModulesCompleted when you've finished using the argument values. When there are multiple calls to loadedModules, it's assumed that you'll finish using argument values in the same order that you received them.
|modulesAdded||Modules that were loaded (e.g. for new files in a module search path).|
|modulesModified||Modules that were reloaded (e.g. for modified files in a module search path). The first pair item is the old version of the module; the second is the new version.|
|modulesRemoved||Modules that were unloaded (e.g. for files deleted from a module search path).|
|issues||Errors and warnings.|
Implemented in VuoModuleManager.
Signals that this delegate has finished using the argument values from loadedModules.
This function is necessary for proper memory management. If you don't call it, the invalidated modules in
modulesModified (first item in pairs) and
modulesRemoved (all items) and the VuoCompilerIssues instance will never be destroyed.