7 #ifndef PXR_USD_VALIDATION_USD_VALIDATION_REGISTRY_H 
    8 #define PXR_USD_VALIDATION_USD_VALIDATION_REGISTRY_H 
   16 #include <shared_mutex> 
   17 #include <unordered_map> 
  300         const TfToken &validatorSuiteName,
 
  301         const std::vector<const UsdValidationValidator *> &containedValidators);
 
  325         const std::vector<const UsdValidationValidator *> &containedValidators);
 
  370     std::vector<const UsdValidationValidator *>
 
  385     std::vector<const UsdValidationValidatorSuite *>
 
  408     std::vector<const UsdValidationValidatorSuite *>
 
  507     void _PopulateMetadataFromPlugInfo();
 
  512     template <
typename Val
idateTaskFn>
 
  513     void _RegisterPluginValidator(
const TfToken &validatorName,
 
  514                                   const ValidateTaskFn &taskFn);
 
  518     template <
typename Val
idateTaskFn>
 
  520                             const ValidateTaskFn &taskFn,
 
  521                             bool addMetadata = 
true);
 
  523     void _RegisterValidatorSuite(
 
  525         const std::vector<const UsdValidationValidator *> &containedValidators,
 
  526         bool addMetadata = 
true);
 
  536                                bool checkForPrimTask, 
bool expectSuite = 
false);
 
  544     using _ValidatorNameToValidatorMap
 
  545         = std::unordered_map<TfToken, std::unique_ptr<UsdValidationValidator>,
 
  547     using _ValidatorSuiteNameToValidatorSuiteMap
 
  549                              std::unique_ptr<UsdValidationValidatorSuite>,
 
  551     using _ValidatorNameToMetadataMap
 
  554     using _TokenToValidatorNamesMap
 
  555         = std::unordered_map<TfToken, TfTokenVector, TfToken::HashFunctor>;
 
  559         const _TokenToValidatorNamesMap &tokenToValidatorNames,
 
  566     _UpdateValidatorNamesMappings(_TokenToValidatorNamesMap &tokenMap,
 
  572     _ValidatorNameToValidatorMap _validators;
 
  575     _ValidatorSuiteNameToValidatorSuiteMap _validatorSuites;
 
  578     _ValidatorNameToMetadataMap _validatorNameToMetadata;
 
  586     _TokenToValidatorNamesMap _keywordToValidatorNames;
 
  591     _TokenToValidatorNamesMap _schemaTypeToValidatorNames;
 
  596     _TokenToValidatorNamesMap _pluginNameToValidatorNames;
 
  599     mutable std::shared_mutex _mutex;
 
  611 #endif // PXR_USD_VALIDATION_USD_VALIDATION_REGISTRY_H 
USDVALIDATION_API std::vector< const UsdValidationValidator * > GetOrLoadAllValidators()
 
USDVALIDATION_API UsdValidationValidatorMetadataVector GetValidatorMetadataForKeywords(const TfTokenVector &keywords) const 
 
USDVALIDATION_API_TEMPLATE_CLASS(TfSingleton< UsdValidationRegistry >)
 
std::vector< UsdValidationValidatorMetadata > UsdValidationValidatorMetadataVector
 
USDVALIDATION_API UsdValidationValidatorMetadataVector GetAllValidatorMetadata() const 
 
USDVALIDATION_API const UsdValidationValidator * GetOrLoadValidatorByName(const TfToken &validatorName)
 
static USDVALIDATION_API UsdValidationRegistry & GetInstance()
 
USDVALIDATION_API void RegisterValidator(const UsdValidationValidatorMetadata &metadata, const UsdValidateLayerTaskFn &layerTaskFn)
 
Functor to use for hash maps from tokens to other things. 
 
USDVALIDATION_API bool HasValidator(const TfToken &validatorName) const 
 
std::function< UsdValidationErrorVector(const UsdStagePtr &, const UsdValidationTimeRange)> UsdValidateStageTaskFn
UsdValidateStageTaskFn: Validation logic operating on a given UsdStage. 
 
#define USDVALIDATION_API
 
std::function< UsdValidationErrorVector(const SdfLayerHandle &)> UsdValidateLayerTaskFn
UsdValidateLayerTaskFn: Validation logic operating on a given SdfLayerHandle. 
 
USDVALIDATION_API UsdValidationValidatorMetadataVector GetValidatorMetadataForKeyword(const TfToken &keyword) const 
 
USDVALIDATION_API void RegisterPluginValidator(const TfToken &validatorName, const UsdValidateLayerTaskFn &layerTaskFn)
 
USDVALIDATION_API void RegisterPluginValidatorSuite(const TfToken &validatorSuiteName, const std::vector< const UsdValidationValidator * > &containedValidators)
 
USDVALIDATION_API bool HasValidatorSuite(const TfToken &suiteName) const 
 
USDVALIDATION_API std::vector< const UsdValidationValidatorSuite * > GetOrLoadAllValidatorSuites()
 
USDVALIDATION_API void RegisterValidatorSuite(const UsdValidationValidatorMetadata &metadata, const std::vector< const UsdValidationValidator * > &containedValidators)
 
std::vector< TfToken > TfTokenVector
Convenience types. 
 
GLuint const GLchar * name
 
USDVALIDATION_API UsdValidationValidatorMetadataVector GetValidatorMetadataForPlugin(const TfToken &pluginName) const 
 
USDVALIDATION_API UsdValidationValidatorMetadataVector GetValidatorMetadataForSchemaType(const TfToken &schemaType) const 
 
USDVALIDATION_API bool GetValidatorMetadata(const TfToken &name, UsdValidationValidatorMetadata *metadata) const 
 
USDVALIDATION_API std::vector< const UsdValidationValidatorSuite * > GetOrLoadValidatorSuitesByName(const TfTokenVector &suiteNames)
 
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
 
std::function< UsdValidationErrorVector(const UsdPrim &, const UsdValidationTimeRange)> UsdValidatePrimTaskFn
UsdValidatePrimTaskFn: Validation logic operating on a given UsdPrim. 
 
#define PXR_NAMESPACE_CLOSE_SCOPE
 
USDVALIDATION_API std::vector< const UsdValidationValidator * > GetOrLoadValidatorsByName(const TfTokenVector &validatorNames)
 
USDVALIDATION_API UsdValidationValidatorMetadataVector GetValidatorMetadataForSchemaTypes(const TfTokenVector &schemaTypes) const 
 
USDVALIDATION_API UsdValidationValidatorMetadataVector GetValidatorMetadataForPlugins(const TfTokenVector &pluginNames) const 
 
static void DeleteInstance()
 
USDVALIDATION_API const UsdValidationValidatorSuite * GetOrLoadValidatorSuiteByName(const TfToken &suiteName)