25 #ifndef PXR_USD_NDR_PARSER_PLUGIN_H
26 #define PXR_USD_NDR_PARSER_PLUGIN_H
43 #define NDR_REGISTER_PARSER_PLUGIN(ParserPluginClass) \
44 TF_REGISTRY_FUNCTION(TfType) \
46 TfType::Define<ParserPluginClass, TfType::Bases<NdrParserPlugin>>() \
47 .SetFactory<NdrParserPluginFactory<ParserPluginClass>>(); \
177 class NdrParserPluginFactory :
public NdrParserPluginFactoryBase
190 #endif // PXR_USD_NDR_PARSER_PLUGIN_H
NDR_API NdrParserPlugin()
std::vector< TfToken > NdrTokenVec
virtual NDR_API ~NdrParserPlugin()
virtual NDR_API const NdrTokenVec & GetDiscoveryTypes() const =0
static NDR_API NdrNodeUniquePtr GetInvalidNode(const NdrNodeDiscoveryResult &dr)
Base class of all factory types.
virtual NDR_API const TfToken & GetSourceType() const =0
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
virtual NDR_API NdrNodeUniquePtr Parse(const NdrNodeDiscoveryResult &discoveryResult)=0
std::unique_ptr< NdrNode > NdrNodeUniquePtr
#define PXR_NAMESPACE_CLOSE_SCOPE