25#ifndef PXR_USD_NDR_FILESYSTEM_DISCOVERY_HELPERS_H
26#define PXR_USD_NDR_FILESYSTEM_DISCOVERY_HELPERS_H
31#include "pxr/usd/ndr/api.h"
33#include "pxr/usd/ndr/nodeDiscoveryResult.h"
37PXR_NAMESPACE_OPEN_SCOPE
51 bool (
const TfToken &identifier,
54 NdrVersion *version)>;
100NdrNodeDiscoveryResultVec
102 const NdrStringVec& searchPaths,
103 const NdrStringVec& allowedExtensions,
104 bool followSymlinks =
true,
115 std::string resolvedUri;
135 const NdrStringVec& searchPaths,
136 const NdrStringVec& allowedExtensions,
137 bool followSymlinks =
true
140PXR_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.