Vuo  2.0.2
Public Member Functions | List of all members
VuoRunningCompositionLibraries Class Reference

Description

Keeps track of the dynamic libraries referenced by a composition during live coding.

This class encapsulates the information passed between the compiler (when linking the composition) and the runner, so that the caller can just pass the one object around.

Definition at line 18 of file VuoRunningCompositionLibraries.hh.

Public Member Functions

 VuoRunningCompositionLibraries (void)
 Constructs an object that does not yet have any libraries. More...
 
 ~VuoRunningCompositionLibraries (void)
 Deletes the loaded resource library files. More...
 
void enqueueResourceLibraryToLoad (const string &path, const set< string > &dependenciesInLibrary, bool isUnloadable)
 Adds a resource library to the list of those pending to be loaded. More...
 
void enqueueCacheLibraryToLoad (const string &path, const set< string > &dependenciesInLibrary, bool isUnloadable)
 Adds a cache library to the list of those pending to be loaded. More...
 
void enqueueLibraryContainingDependencyToUnload (const string &dependency)
 Adds the library containing dependency to the list of those pending to be unloaded. More...
 
vector< string > dequeueLibrariesToLoad (void)
 Marks the libraries pending to be loaded as actually loaded. More...
 
vector< string > dequeueLibrariesToUnload (void)
 Marks the libraries pending to be unloaded as actually unloaded. More...
 
vector< string > getNonUnloadableLibrariesLoaded (void)
 Returns the currently-loaded libraries that can't be unloaded. More...
 
vector< string > getUnloadableLibrariesLoaded (void)
 Returns the currently-loaded libraries that can be unloaded and are not enqueued to be unloaded. More...
 
set< string > getDependenciesLoaded (void)
 Returns the node classes, etc. More...
 
void addExternalLibraries (const set< string > &paths)
 Stores libraries used by node classes, etc. More...
 
void addExternalFrameworks (const set< string > &paths)
 Stores frameworks used by node classes, etc. More...
 
set< string > getExternalLibraries (void)
 Returns the libraries accumulated from addExternalLibraries. More...
 
set< string > getExternalFrameworks (void)
 Returns the frameworks accumulated from addExternalFrameworks. More...
 
void setDeleteResourceLibraries (bool shouldDeleteResourceLibraries)
 Sets whether resource dylib files should be deleted when the composition is finished using them — when they're marked as unloaded or when this object is destroyed. More...
 

Constructor & Destructor Documentation

◆ VuoRunningCompositionLibraries()

VuoRunningCompositionLibraries::VuoRunningCompositionLibraries ( void  )

Constructs an object that does not yet have any libraries.

Definition at line 16 of file VuoRunningCompositionLibraries.cc.

◆ ~VuoRunningCompositionLibraries()

VuoRunningCompositionLibraries::~VuoRunningCompositionLibraries ( void  )

Deletes the loaded resource library files.

Definition at line 24 of file VuoRunningCompositionLibraries.cc.

Member Function Documentation

◆ addExternalFrameworks()

void VuoRunningCompositionLibraries::addExternalFrameworks ( const set< string > &  paths)

Stores frameworks used by node classes, etc.

so they don't have to be looked up again each time the composition is re-linked.

Definition at line 246 of file VuoRunningCompositionLibraries.cc.

◆ addExternalLibraries()

void VuoRunningCompositionLibraries::addExternalLibraries ( const set< string > &  paths)

Stores libraries used by node classes, etc.

so they don't have to be looked up again each time the composition is re-linked.

Definition at line 237 of file VuoRunningCompositionLibraries.cc.

◆ dequeueLibrariesToLoad()

vector< string > VuoRunningCompositionLibraries::dequeueLibrariesToLoad ( void  )

Marks the libraries pending to be loaded as actually loaded.

Returns those libraries, plus the already-loaded libraries that would have been unloaded by dequeueLibrariesToUnload. The returned libraries are ordered so that a library comes after the libraries it depends on.

Definition at line 100 of file VuoRunningCompositionLibraries.cc.

◆ dequeueLibrariesToUnload()

vector< string > VuoRunningCompositionLibraries::dequeueLibrariesToUnload ( void  )

Marks the libraries pending to be unloaded as actually unloaded.

Returns those libraries, plus the still-loaded libraries that may depend on them and thus need to be unloaded for these libraries to be unloaded successfully. The returned libraries are ordered so that a library comes after the libraries that depend on it.

Definition at line 135 of file VuoRunningCompositionLibraries.cc.

◆ enqueueCacheLibraryToLoad()

void VuoRunningCompositionLibraries::enqueueCacheLibraryToLoad ( const string &  path,
const set< string > &  dependenciesInLibrary,
bool  isUnloadable 
)

Adds a cache library to the list of those pending to be loaded.

If isUnloadable is true, the library can be unloaded during live coding. If false, it can't be unloaded, e.g. because it contains Objective-C code.

Definition at line 55 of file VuoRunningCompositionLibraries.cc.

◆ enqueueLibraryContainingDependencyToUnload()

void VuoRunningCompositionLibraries::enqueueLibraryContainingDependencyToUnload ( const string &  dependency)

Adds the library containing dependency to the list of those pending to be unloaded.

Definition at line 70 of file VuoRunningCompositionLibraries.cc.

◆ enqueueResourceLibraryToLoad()

void VuoRunningCompositionLibraries::enqueueResourceLibraryToLoad ( const string &  path,
const set< string > &  dependenciesInLibrary,
bool  isUnloadable 
)

Adds a resource library to the list of those pending to be loaded.

If isUnloadable is true, the library can be unloaded during live coding. If false, it can't be unloaded, e.g. because it contains Objective-C code.

Definition at line 37 of file VuoRunningCompositionLibraries.cc.

◆ getDependenciesLoaded()

set< string > VuoRunningCompositionLibraries::getDependenciesLoaded ( void  )

Returns the node classes, etc.

contained within all currently-loaded libraries that are not enqueued to be unloaded.

Definition at line 213 of file VuoRunningCompositionLibraries.cc.

◆ getExternalFrameworks()

set< string > VuoRunningCompositionLibraries::getExternalFrameworks ( void  )

Returns the frameworks accumulated from addExternalFrameworks.

Definition at line 262 of file VuoRunningCompositionLibraries.cc.

◆ getExternalLibraries()

set< string > VuoRunningCompositionLibraries::getExternalLibraries ( void  )

Returns the libraries accumulated from addExternalLibraries.

Definition at line 254 of file VuoRunningCompositionLibraries.cc.

◆ getNonUnloadableLibrariesLoaded()

vector< string > VuoRunningCompositionLibraries::getNonUnloadableLibrariesLoaded ( void  )

Returns the currently-loaded libraries that can't be unloaded.

Definition at line 177 of file VuoRunningCompositionLibraries.cc.

◆ getUnloadableLibrariesLoaded()

vector< string > VuoRunningCompositionLibraries::getUnloadableLibrariesLoaded ( void  )

Returns the currently-loaded libraries that can be unloaded and are not enqueued to be unloaded.

Definition at line 195 of file VuoRunningCompositionLibraries.cc.

◆ setDeleteResourceLibraries()

void VuoRunningCompositionLibraries::setDeleteResourceLibraries ( bool  shouldDeleteResourceLibraries)

Sets whether resource dylib files should be deleted when the composition is finished using them — when they're marked as unloaded or when this object is destroyed.

Definition at line 271 of file VuoRunningCompositionLibraries.cc.


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