KiCad PCB EDA Suite
Loading...
Searching...
No Matches
json_schema_validator.h
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5
*
6
* This program is free software: you can redistribute it and/or modify it
7
* under the terms of the GNU General Public License as published by the
8
* Free Software Foundation, either version 3 of the License, or (at your
9
* option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef JSON_SCHEMA_VALIDATOR_H
21
#define JSON_SCHEMA_VALIDATOR_H
22
23
#include <wx/filename.h>
24
#include <
kicommon.h
>
25
#include <
json_common.h
>
26
#include <nlohmann/json-schema.hpp>
27
33
class
KICOMMON_API
JSON_SCHEMA_VALIDATOR
34
{
35
public
:
36
JSON_SCHEMA_VALIDATOR
(
const
wxFileName& aSchemaFile );
37
38
JSON_SCHEMA_VALIDATOR
(
const
nlohmann::json& aSchema );
39
40
~JSON_SCHEMA_VALIDATOR
() =
default
;
41
42
nlohmann::json
Validate
(
const
nlohmann::json& aJson,
43
nlohmann::json_schema::error_handler& aErrorHandler,
44
const
nlohmann::json_uri& aInitialUri = nlohmann::json_uri(
"#"
) )
const
;
45
46
private
:
47
void
setRootSchema
(
const
nlohmann::json& aSchema );
48
49
nlohmann::json_schema::json_validator
m_validator
;
50
};
51
52
#endif
//JSON_SCHEMA_VALIDATOR_H
JSON_SCHEMA_VALIDATOR::~JSON_SCHEMA_VALIDATOR
~JSON_SCHEMA_VALIDATOR()=default
JSON_SCHEMA_VALIDATOR::setRootSchema
void setRootSchema(const nlohmann::json &aSchema)
Definition
json_schema_validator.cpp:66
JSON_SCHEMA_VALIDATOR::JSON_SCHEMA_VALIDATOR
JSON_SCHEMA_VALIDATOR(const wxFileName &aSchemaFile)
Definition
json_schema_validator.cpp:28
JSON_SCHEMA_VALIDATOR::m_validator
nlohmann::json_schema::json_validator m_validator
Definition
json_schema_validator.h:49
JSON_SCHEMA_VALIDATOR::Validate
nlohmann::json Validate(const nlohmann::json &aJson, nlohmann::json_schema::error_handler &aErrorHandler, const nlohmann::json_uri &aInitialUri=nlohmann::json_uri("#")) const
Definition
json_schema_validator.cpp:78
json_common.h
kicommon.h
KICOMMON_API
#define KICOMMON_API
Definition
kicommon.h:27
src
include
json_schema_validator.h
Generated on Sun Sep 20 2026 00:06:50 for KiCad PCB EDA Suite by
1.13.2