8#ifndef PXR_USD_NDR_FILESYSTEM_DISCOVERY_HELPERS_H
9#define PXR_USD_NDR_FILESYSTEM_DISCOVERY_HELPERS_H
14#include "pxr/usd/ndr/api.h"
16#include "pxr/usd/ndr/nodeDiscoveryResult.h"
20PXR_NAMESPACE_OPEN_SCOPE
34 bool (
const TfToken &identifier,
37 NdrVersion *version)>;
83NdrNodeDiscoveryResultVec
85 const NdrStringVec& searchPaths,
86 const NdrStringVec& allowedExtensions,
87 bool followSymlinks =
true,
98 std::string resolvedUri;
118 const NdrStringVec& searchPaths,
119 const NdrStringVec& allowedExtensions,
120 bool followSymlinks =
true
123PXR_NAMESPACE_CLOSE_SCOPE
Token for efficient comparison, assignment, and hashing of known strings.
NDR_API NdrNodeDiscoveryResultVec NdrFsHelpersDiscoverNodes(const NdrStringVec &searchPaths, const NdrStringVec &allowedExtensions, bool followSymlinks=true, const NdrDiscoveryPluginContext *context=nullptr, const NdrParseIdentifierFn &parseIdentifierFn=NdrFsHelpersSplitShaderIdentifier)
Returns a vector of discovery results that have been found while walking the given search paths.
std::vector< NdrDiscoveryUri > NdrDiscoveryUriVec
A vector of URI/resolved URI structs.
std::function< bool(const TfToken &identifier, TfToken *family, TfToken *name, NdrVersion *version)> NdrParseIdentifierFn
Type of a function that can be used to parse a discovery result's identifier into its family,...
NDR_API bool NdrFsHelpersSplitShaderIdentifier(const TfToken &identifier, TfToken *family, TfToken *name, NdrVersion *version)
Given a shader's identifier token, computes the corresponding NdrNode's family name,...
NDR_API NdrDiscoveryUriVec NdrFsHelpersDiscoverFiles(const NdrStringVec &searchPaths, const NdrStringVec &allowedExtensions, bool followSymlinks=true)
Returns a vector of discovered URIs (as both the unresolved URI and the resolved URI) that are found ...
Struct for holding a URI and its resolved URI for a file discovered by NdrFsHelpersDiscoverFiles.
Common typedefs that are used throughout the NDR library.