7#include "./../../third_party/nlohmann/json.hpp"
22 bool HasSchema(
const std::string& componentName)
const;
43 const std::string& componentName,
44 const std::string& parameterName)
const;
47 const std::string& componentName)
const;
52 const std::string& componentName,
53 const std::string& parameterName,
54 const std::string& value)
const;
ComponentTypeID GetComponentTypeID_Static()
~ParameterSchemaRegistry()
std::vector< std::string > GetSchemaNames() const
bool IsSchemaDeprecated(const std::string &componentName) const
std::vector< ComponentSchema > SearchSchemas(const std::string &query) const
bool ValidateComponent(const ComponentData &component) const
void UnregisterSchema(const std::string &componentName)
bool ValidateParameter(const std::string &componentName, const std::string ¶meterName, const std::string &value) const
std::map< std::string, size_t > m_schemaIndex
const ParameterDefinition * GetParameterDefinition(const std::string &componentName, const std::string ¶meterName) const
ParameterSchemaRegistry(const ParameterSchemaRegistry &)=delete
std::vector< ComponentSchema > m_schemas
size_t GetTotalParameterCount() const
void RebuildCategoryIndex()
std::vector< std::string > GetCategories() const
static ParameterSchemaRegistry & Get()
std::map< std::string, std::vector< size_t > > m_categoryIndex
bool HasSchema(const std::string &componentName) const
std::vector< ComponentSchema > GetSchemasInCategory(const std::string &category) const
void RegisterSchema(const ComponentSchema &schema)
size_t GetSchemaCount() const
const std::vector< ComponentSchema > & GetAllSchemas() const
void LoadSchemasFromDirectory(const std::string &directoryPath)
static ParameterSchemaRegistry * s_instance
ParameterSchemaRegistry()
std::vector< ComponentSchema > GetSchemasByCategory(const std::string &category) const
size_t GetCategoryCount() const
const ComponentSchema * GetSchema(const std::string &componentName) const
std::vector< ParameterDefinition > GetParametersForComponent(const std::string &componentName) const
ParameterSchemaRegistry & operator=(const ParameterSchemaRegistry &)=delete
std::vector< ComponentSchema > GetDeprecatedSchemas() const
void LoadSchemasFromFile(const std::string &filePath)
< Provides AssetID and INVALID_ASSET_ID