Vuo  1.2.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
VuoCompiler::Environment Class Reference

Description

A set of node classes, types, library modules, and search paths for other dependencies.

This is public only so that the static variable VuoCompiler::sharedEnvironment can be defined.

Public Member Functions

 Environment (bool isOwner)
 Creates an empty environment.
 
 ~Environment (void)
 Destructor.
 
map< string,
VuoCompilerNodeClass * > 
getNodeClasses (void)
 Returns the node classes loaded, plus specialized node classes generated by the compiler.
 
VuoCompilerNodeClassgetNodeClass (const string &moduleKey)
 Returns the node class with the given moduleKey, or null if no node class by that name has been loaded.
 
map< string, VuoCompilerType * > getTypes (void)
 Returns the types loaded.
 
VuoCompilerTypegetType (const string &moduleKey)
 Returns the type with the given moduleKey, or null if no type by that name has been loaded.
 
map< string, VuoCompilerModule * > getLibraryModules (void)
 Returns the library modules loaded.
 
VuoCompilerModulegetLibraryModule (const string &moduleKey)
 Returns the library modules with the given moduleKey, or null if no library module by that name has been loaded.
 
VuoNodeSetfindNodeSet (const string &name)
 Returns the node set with the given name, or null no such node set been loaded.
 
void addModuleSearchPath (const string &path)
 Adds a search path for node classes, types, and library modules.
 
vector< string > getModuleSearchPaths (void)
 Returns the search paths for node classes, types, and library modules.
 
void addHeaderSearchPath (const string &path)
 Adds a search path for header/include files.
 
vector< string > getHeaderSearchPaths (void)
 Returns the search paths for header/include files.
 
void addLibrarySearchPath (const string &path)
 Adds a search path for libraries (other than Vuo library modules).
 
vector< string > getLibrarySearchPaths (void)
 Returns the search paths for libraries (other than Vuo library modules).
 
void addFrameworkSearchPath (const string &path)
 Adds a search path for frameworks.
 
vector< string > getFrameworkSearchPaths (void)
 Returns the search paths for frameworks.
 
void loadModulesIntoCombinedEnvironment (Environment *myEnvironment, Environment *sharedEnvironment, bool shouldLoadAllModules, set< string > &modulesToLoad)
 Loads node classes and types from any directories in moduleSearchPaths that have not already been loaded.
 
void addNodeClassToCombinedEnvironment (VuoCompilerNodeClass *nodeClass, Environment *myEnvironment, Environment *sharedEnvironment)
 Adds a node class to use when linking a composition.
 
void removeNodeClassFromCombinedEnvironment (string nodeClassName, Environment *myEnvironment, Environment *sharedEnvironment)
 Removes a node class from the list of node classes known to the compiler/linker, and destroys the node class.
 
void updateCombinedEnvironment (Environment *myEnvironment, Environment *sharedEnvironment)
 Updates this environment to consist of myEnvironment layered on top of sharedEnvironment.
 
vector< string > getBuiltInModuleSearchPaths (void)
 Returns the search paths for built-in node classes, types, and library modules.
 
vector< string > getBuiltInLibrarySearchPaths (void)
 Returns the search paths for built-in libraries (other than library modules).
 
void addSearchPathsToSharedEnvironment (void)
 Adds the search paths needed by all compositions to this environment.
 
void addCachedModulePathToSharedEnvironment (string moduleFileName)
 Adds a module file after VuoCompiler::Environment::listModules() has already cached the list of module files for the cache's Modules folder.
 
void removeCachedModulePathFromSharedEnvironment (string moduleFileName)
 Removes a module file from the list cached by VuoCompiler::Environment::listModules().
 

Constructor & Destructor Documentation

VuoCompiler::Environment::Environment ( bool  isOwner)

Creates an empty environment.

VuoCompiler::Environment::~Environment ( void  )

Destructor.

Member Function Documentation

void VuoCompiler::Environment::addCachedModulePathToSharedEnvironment ( string  moduleFileName)

Adds a module file after VuoCompiler::Environment::listModules() has already cached the list of module files for the cache's Modules folder.

void VuoCompiler::Environment::addFrameworkSearchPath ( const string &  path)

Adds a search path for frameworks.

void VuoCompiler::Environment::addHeaderSearchPath ( const string &  path)

Adds a search path for header/include files.

void VuoCompiler::Environment::addLibrarySearchPath ( const string &  path)

Adds a search path for libraries (other than Vuo library modules).

void VuoCompiler::Environment::addModuleSearchPath ( const string &  path)

Adds a search path for node classes, types, and library modules.

void VuoCompiler::Environment::addNodeClassToCombinedEnvironment ( VuoCompilerNodeClass nodeClass,
Environment myEnvironment,
Environment sharedEnvironment 
)

Adds a node class to use when linking a composition.

Typically, node classes are loaded from file with addModuleSearchPath(). This function is useful if adding a node class that is generated at compile time.

This function should be called on VuoCompiler::combinedEnvironment.

void VuoCompiler::Environment::addSearchPathsToSharedEnvironment ( void  )

Adds the search paths needed by all compositions to this environment.

This function should be called on VuoCompiler::sharedEnvironment.

This function may only be called on dispatch queue environmentQueue.

VuoNodeSet * VuoCompiler::Environment::findNodeSet ( const string &  name)

Returns the node set with the given name, or null no such node set been loaded.

vector< string > VuoCompiler::Environment::getBuiltInLibrarySearchPaths ( void  )

Returns the search paths for built-in libraries (other than library modules).

vector< string > VuoCompiler::Environment::getBuiltInModuleSearchPaths ( void  )

Returns the search paths for built-in node classes, types, and library modules.

vector< string > VuoCompiler::Environment::getFrameworkSearchPaths ( void  )

Returns the search paths for frameworks.

vector< string > VuoCompiler::Environment::getHeaderSearchPaths ( void  )

Returns the search paths for header/include files.

VuoCompilerModule * VuoCompiler::Environment::getLibraryModule ( const string &  moduleKey)

Returns the library modules with the given moduleKey, or null if no library module by that name has been loaded.

map< string, VuoCompilerModule * > VuoCompiler::Environment::getLibraryModules ( void  )

Returns the library modules loaded.

vector< string > VuoCompiler::Environment::getLibrarySearchPaths ( void  )

Returns the search paths for libraries (other than Vuo library modules).

vector< string > VuoCompiler::Environment::getModuleSearchPaths ( void  )

Returns the search paths for node classes, types, and library modules.

VuoCompilerNodeClass * VuoCompiler::Environment::getNodeClass ( const string &  moduleKey)

Returns the node class with the given moduleKey, or null if no node class by that name has been loaded.

map< string, VuoCompilerNodeClass * > VuoCompiler::Environment::getNodeClasses ( void  )

Returns the node classes loaded, plus specialized node classes generated by the compiler.

VuoCompilerType * VuoCompiler::Environment::getType ( const string &  moduleKey)

Returns the type with the given moduleKey, or null if no type by that name has been loaded.

map< string, VuoCompilerType * > VuoCompiler::Environment::getTypes ( void  )

Returns the types loaded.

void VuoCompiler::Environment::loadModulesIntoCombinedEnvironment ( Environment myEnvironment,
Environment sharedEnvironment,
bool  shouldLoadAllModules,
set< string > &  modulesToLoad 
)

Loads node classes and types from any directories in moduleSearchPaths that have not already been loaded.

This function should be called on VuoCompiler::combinedEnvironment.

void VuoCompiler::Environment::removeCachedModulePathFromSharedEnvironment ( string  moduleFileName)

Removes a module file from the list cached by VuoCompiler::Environment::listModules().

This function should be called after a module file is deleted from the cache's Modules folder.

void VuoCompiler::Environment::removeNodeClassFromCombinedEnvironment ( string  nodeClassName,
Environment myEnvironment,
Environment sharedEnvironment 
)

Removes a node class from the list of node classes known to the compiler/linker, and destroys the node class.

This function should be called on VuoCompiler::combinedEnvironment.

void VuoCompiler::Environment::updateCombinedEnvironment ( Environment myEnvironment,
Environment sharedEnvironment 
)

Updates this environment to consist of myEnvironment layered on top of sharedEnvironment.

This function should be called on VuoCompiler::combinedEnvironment.

This function may only be called on dispatch queue environmentQueue.


The documentation for this class was generated from the following files: