KiCad PCB EDA Suite
Loading...
Searching...
No Matches
job_rc.cpp
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 (C) 2024 Mark Roszko <
[email protected]
>
5
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6
*
7
* This program is free software: you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License as published by the
9
* Free Software Foundation, either version 3 of the License, or (at your
10
* option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License along
18
* with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#include <
jobs/job_rc.h
>
22
23
24
NLOHMANN_JSON_SERIALIZE_ENUM
(
JOB_RC::UNITS
, {
25
{
JOB_RC::UNITS::INCHES
,
"in"
},
26
{
JOB_RC::UNITS::MILLIMETERS
,
"mm"
},
27
{
JOB_RC::UNITS::MILS
,
"mils"
},
28
} )
29
30
NLOHMANN_JSON_SERIALIZE_ENUM
(
JOB_RC::OUTPUT_FORMAT
,
31
{
32
{
JOB_RC::OUTPUT_FORMAT::REPORT
,
"report"
},
33
{
JOB_RC::OUTPUT_FORMAT::JSON
,
"json"
},
34
} )
35
36
JOB_RC::JOB_RC
(
const
std::string& aType )
37
:
JOB
( aType,
false
),
38
m_filename(),
39
m_units(
JOB_RC::UNITS::MILLIMETERS
),
40
m_severity(
RPT_SEVERITY_ERROR
|
RPT_SEVERITY_WARNING
),
41
m_format( OUTPUT_FORMAT::REPORT ),
42
m_exitCodeViolations(
false
)
43
{
44
m_params.emplace_back(
new
JOB_PARAM<UNITS>
(
"units"
, &m_units, m_units ) );
45
m_params.emplace_back(
new
JOB_PARAM<int>
(
"severity"
, &m_severity, m_severity ) );
46
m_params.emplace_back(
new
JOB_PARAM<OUTPUT_FORMAT>
(
"format"
, &m_format, m_format ) );
47
m_params.emplace_back(
new
JOB_PARAM<bool>
(
"fail_on_error"
, &m_exitCodeViolations, m_exitCodeViolations ) );
48
}
JOB_PARAM
Definition:
job.h:45
JOB_RC::UNITS
UNITS
Definition:
job_rc.h:37
JOB_RC::UNITS::INCHES
@ INCHES
JOB_RC::UNITS::MILLIMETERS
@ MILLIMETERS
JOB_RC::UNITS::MILS
@ MILS
JOB_RC::JOB_RC
JOB_RC(const std::string &aType)
Definition:
job_rc.cpp:36
JOB_RC::OUTPUT_FORMAT
OUTPUT_FORMAT
Definition:
job_rc.h:48
JOB_RC::OUTPUT_FORMAT::JSON
@ JSON
JOB_RC::OUTPUT_FORMAT::REPORT
@ REPORT
JOB
An simple container class that lets us dispatch output jobs to kifaces.
Definition:
job.h:125
NLOHMANN_JSON_SERIALIZE_ENUM
NLOHMANN_JSON_SERIALIZE_ENUM(JOB_RC::UNITS, { { JOB_RC::UNITS::INCHES, "in" }, { JOB_RC::UNITS::MILLIMETERS, "mm" }, { JOB_RC::UNITS::MILS, "mils" }, }) NLOHMANN_JSON_SERIALIZE_ENUM(JOB_RC
Definition:
job_rc.cpp:24
job_rc.h
RPT_SEVERITY_WARNING
@ RPT_SEVERITY_WARNING
Definition:
report_severity.h:31
RPT_SEVERITY_ERROR
@ RPT_SEVERITY_ERROR
Definition:
report_severity.h:32
src
common
jobs
job_rc.cpp
Generated on Sat Jan 4 2025 00:05:23 for KiCad PCB EDA Suite by
1.9.6