KiCad PCB EDA Suite
Loading...
Searching...
No Matches
api_handler_pcb.cpp File Reference
#include <magic_enum.hpp>
#include <memory>
#include <properties/property.h>
#include <common.h>
#include <fmt.h>
#include <api/api_handler_pcb.h>
#include <api/api_pcb_utils.h>
#include <api/api_enums.h>
#include <api/api_utils.h>
#include <api/common/commands/library_commands.pb.h>
#include <api/cross_probe_client.h>
#include <wx/log.h>
#include <base_screen.h>
#include <board_commit.h>
#include <board_connected_item.h>
#include <board_design_settings.h>
#include <core/kicad_algo.h>
#include <footprint.h>
#include <footprint_library_adapter.h>
#include <kicad_clipboard.h>
#include <netinfo.h>
#include <pad.h>
#include <pcb_draw_panel_gal.h>
#include <pcb_edit_frame.h>
#include <pcb_group.h>
#include <pcb_reference_image.h>
#include <pcb_shape.h>
#include <pcb_text.h>
#include <pcb_textbox.h>
#include <pcb_track.h>
#include <pcbnew_id.h>
#include <pcb_marker.h>
#include <pcb_point.h>
#include <kiway.h>
#include <drc/drc_item.h>
#include <jobs/job_export_pcb_3d.h>
#include <jobs/job_export_pcb_dxf.h>
#include <jobs/job_export_pcb_drill.h>
#include <jobs/job_export_pcb_gencad.h>
#include <jobs/job_export_pcb_gerber.h>
#include <jobs/job_export_pcb_gerbers.h>
#include <jobs/job_export_pcb_ipc2581.h>
#include <jobs/job_export_pcb_ipcd356.h>
#include <jobs/job_export_pcb_odb.h>
#include <jobs/job_export_pcb_pdf.h>
#include <netlist_reader/pcb_netlist_utils.h>
#include <project_pcb.h>
#include <jobs/job_export_pcb_pos.h>
#include <jobs/job_export_pcb_ps.h>
#include <jobs/job_export_pcb_stats.h>
#include <jobs/job_export_pcb_svg.h>
#include <jobs/job_export_pcb_png.h>
#include <pcb_plot_params.h>
#include <plotters/plotter_png.h>
#include <jobs/job_pcb_render.h>
#include <layer_ids.h>
#include <netlist_reader/board_netlist_updater.h>
#include <netlist_reader/pcb_netlist.h>
#include <project.h>
#include <tool/actions.h>
#include <string_utils.h>
#include <tool/tool_manager.h>
#include <tools/pcb_actions.h>
#include <tools/pcb_selection_tool.h>
#include <tools/zone_filler_tool.h>
#include <zone.h>
#include <zone_filler.h>
#include <api/common/types/base_types.pb.h>
#include <api/board/board_rules.pb.h>
#include <connectivity/connectivity_data.h>
#include <google/protobuf/util/json_util.h>
#include <drc/drc_rule_condition.h>
#include <drc/drc_rule_parser.h>
#include <widgets/appearance_controls.h>
#include <widgets/report_severity.h>
#include <drc/rule_editor/drc_re_rule_loader.h>
#include <trace_helpers.h>
#include <wx/ffile.h>

Go to the source code of this file.

Functions

HANDLER_RESULT< Empty > unpackEmbeddedFiles (EMBEDDED_FILES &aOutput, const common::types::EmbeddedFiles &aProto)
 
std::optional< ApiResponseStatus > ValidateUnitsInchMm (types::Units aUnits, const std::string &aCommandName)
 
std::optional< ApiResponseStatus > ValidatePaginationModeForSingleOrPerFile (kiapi::board::jobs::BoardJobPaginationMode aMode, const std::string &aCommandName)
 
std::optional< ApiResponseStatus > ApplyBoardPlotSettings (const BoardPlotSettings &aSettings, JOB_EXPORT_PCB_PLOT &aJob)
 
HANDLER_RESULT< types::RunJobResponse > ExecuteBoardJob (PCB_CONTEXT *aContext, JOB &aJob)
 

Variables

static const std::vector< KICAD_Ts_allowedBoardTypes
 

Function Documentation

◆ ApplyBoardPlotSettings()

◆ ExecuteBoardJob()

◆ unpackEmbeddedFiles()

HANDLER_RESULT< Empty > unpackEmbeddedFiles ( EMBEDDED_FILES & aOutput,
const common::types::EmbeddedFiles & aProto )

◆ ValidatePaginationModeForSingleOrPerFile()

std::optional< ApiResponseStatus > ValidatePaginationModeForSingleOrPerFile ( kiapi::board::jobs::BoardJobPaginationMode aMode,
const std::string & aCommandName )

◆ ValidateUnitsInchMm()

Variable Documentation

◆ s_allowedBoardTypes

const std::vector<KICAD_T> s_allowedBoardTypes
static
Initial value:
= {
}
@ PCB_CONSTRAINT_T
a geometric constraint between board items
Definition typeinfo.h:237
@ PCB_SHAPE_T
class PCB_SHAPE, a segment not on copper layers
Definition typeinfo.h:80
@ PCB_VIA_T
class PCB_VIA, a via (like a track segment on a copper layer)
Definition typeinfo.h:89
@ PCB_GROUP_T
class PCB_GROUP, a set of BOARD_ITEMs
Definition typeinfo.h:103
@ PCB_TEXTBOX_T
class PCB_TEXTBOX, wrapped text on a layer
Definition typeinfo.h:85
@ PCB_ZONE_T
class ZONE, a copper pour area
Definition typeinfo.h:100
@ PCB_TEXT_T
class PCB_TEXT, text on a layer
Definition typeinfo.h:84
@ PCB_REFERENCE_IMAGE_T
class PCB_REFERENCE_IMAGE, bitmap on a layer
Definition typeinfo.h:81
@ PCB_BARCODE_T
class PCB_BARCODE, a barcode (graphic item)
Definition typeinfo.h:93
@ PCB_FOOTPRINT_T
class FOOTPRINT, a footprint
Definition typeinfo.h:78
@ PCB_GRID_ITEM_T
a subgrid placed on a board
Definition typeinfo.h:238
@ PCB_PAD_T
class PAD, a pad in a footprint
Definition typeinfo.h:79
@ PCB_ARC_T
class PCB_ARC, an arc track segment on a copper layer
Definition typeinfo.h:90
@ PCB_DIMENSION_T
class PCB_DIMENSION_BASE: abstract dimension meta-type
Definition typeinfo.h:92
@ PCB_TABLE_T
class PCB_TABLE, table of PCB_TABLECELLs
Definition typeinfo.h:86
@ PCB_POINT_T
class PCB_POINT, a 0-dimensional point
Definition typeinfo.h:105
@ PCB_TRACE_T
class PCB_TRACK, a track segment (segment on a copper layer)
Definition typeinfo.h:88

Definition at line 378 of file api_handler_pcb.cpp.

Referenced by API_HANDLER_PCB::handleGetItems().