7 #ifndef PXR_BASE_TF_SCRIPT_MODULE_LOADER_H
8 #define PXR_BASE_TF_SCRIPT_MODULE_LOADER_H
22 #include "pxr/external/boost/python/dict.hpp"
26 #include <unordered_map>
58 std::vector<TfToken>
const &predecessors);
86 _LibInfo(
TfToken const &moduleName,
87 std::vector<TfToken> &&predecessors)
88 : moduleName(moduleName)
89 , predecessors(predecessors) { }
92 std::vector<TfToken> predecessors;
93 mutable std::atomic<bool> isLoaded =
false;
97 std::unordered_map<TfToken, _LibInfo, TfToken::HashFunctor>;
104 _LibInfo
const *_FindInfo(
TfToken const &lib)
const;
106 void _LoadLibModules(std::vector<_LibAndInfo const *>
const &toLoad)
const;
108 _LibInfoMap _libInfo;
116 #endif // PXR_BASE_TF_SCRIPT_MODULE_LOADER_H
TF_API_TEMPLATE_CLASS(TfSingleton< TfScriptModuleLoader >)
static TF_API This & GetInstance()
Return the singleton instance.
TF_API void WriteDotFile(std::string const &file) const
TF_API void RegisterLibrary(TfToken const &name, TfToken const &moduleName, std::vector< TfToken > const &predecessors)
TfScriptModuleLoader This
TF_API void LoadModulesForLibrary(TfToken const &name)
GLuint const GLchar * name
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
TF_API pxr_boost::python::dict GetModulesDict() const
TF_API void LoadModules()