KiCad PCB EDA Suite
Loading...
Searching...
No Matches
API_HANDLER_PCB Class Reference

#include <api_handler_pcb.h>

Inheritance diagram for API_HANDLER_PCB:
API_HANDLER_EDITOR API_HANDLER

Public Member Functions

 API_HANDLER_PCB (PCB_EDIT_FRAME *aFrame)
 
 API_HANDLER_PCB (std::shared_ptr< BOARD_CONTEXT > aContext, PCB_EDIT_FRAME *aFrame=nullptr)
 
API_RESULT Handle (ApiRequest &aMsg)
 Attempt to handle the given API request, if a handler exists in this class for the message.
 

Protected Types

typedef std::function< HANDLER_RESULT< ApiResponse >(ApiRequest &)> REQUEST_HANDLER
 A handler for outer messages (envelopes) that will unpack to inner messages and call a specific handler function.
 

Protected Member Functions

std::unique_ptr< COMMITcreateCommit () override
 Override this to create an appropriate COMMIT subclass for the frame in question.
 
kiapi::common::types::DocumentType thisDocumentType () const override
 Override this to specify which document type this editor handles.
 
tl::expected< bool, ApiResponseStatus > validateDocumentInternal (const DocumentSpecifier &aDocument) const override
 
void deleteItemsInternal (std::map< KIID, ItemDeletionStatus > &aItemsToDelete, const std::string &aClientName) override
 
std::optional< EDA_ITEM * > getItemFromDocument (const DocumentSpecifier &aDocument, const KIID &aId) override
 
std::optional< TITLE_BLOCK * > getTitleBlock () override
 
std::optional< PAGE_INFOgetPageSettings () override
 
bool setPageSettings (const PAGE_INFO &aPageInfo) override
 
wxString getDrawingSheetFileName () override
 
void setDrawingSheetFileName (const wxString &aFileName) override
 
void onModified () override
 
HANDLER_RESULT< std::optional< KIID > > validateItemHeaderDocument (const kiapi::common::types::ItemHeader &aHeader)
 If the header is valid, returns the item container.
 
HANDLER_RESULT< bool > validateDocument (const DocumentSpecifier &aDocument)
 
virtual std::optional< ApiResponseStatus > checkForBusy ()
 Checks if the editor can accept commands.
 
HANDLER_RESULT< commands::BeginCommitResponse > handleBeginCommit (const HANDLER_CONTEXT< commands::BeginCommit > &aCtx)
 
HANDLER_RESULT< commands::EndCommitResponse > handleEndCommit (const HANDLER_CONTEXT< commands::EndCommit > &aCtx)
 
COMMITgetCurrentCommit (const std::string &aClientName)
 
HANDLER_RESULT< commands::CreateItemsResponse > handleCreateItems (const HANDLER_CONTEXT< commands::CreateItems > &aCtx)
 
HANDLER_RESULT< commands::UpdateItemsResponse > handleUpdateItems (const HANDLER_CONTEXT< commands::UpdateItems > &aCtx)
 
HANDLER_RESULT< commands::DeleteItemsResponse > handleDeleteItems (const HANDLER_CONTEXT< commands::DeleteItems > &aCtx)
 
HANDLER_RESULT< commands::HitTestResponse > handleHitTest (const HANDLER_CONTEXT< commands::HitTest > &aCtx)
 
HANDLER_RESULT< types::TitleBlockInfo > handleGetTitleBlockInfo (const HANDLER_CONTEXT< commands::GetTitleBlockInfo > &aCtx)
 
HANDLER_RESULT< google::protobuf::Empty > handleSetTitleBlockInfo (const HANDLER_CONTEXT< commands::SetTitleBlockInfo > &aCtx)
 
HANDLER_RESULT< types::PageSettings > handleGetPageSettings (const HANDLER_CONTEXT< commands::GetPageSettings > &aCtx)
 
HANDLER_RESULT< types::PageSettings > handleSetPageSettings (const HANDLER_CONTEXT< commands::SetPageSettings > &aCtx)
 
virtual const EDA_IU_SCALEgetIuScale () const
 Returns the internal-unit scale that the concrete editor uses.
 
template<class RequestType, class ResponseType, class HandlerType>
void registerHandler (HANDLER_RESULT< ResponseType >(HandlerType::*aHandler)(const HANDLER_CONTEXT< RequestType > &))
 Registers an API command handler for the given message types.
 

Static Protected Member Functions

static std::vector< KICAD_TparseRequestedItemTypes (const google::protobuf::RepeatedField< int > &aTypes)
 

Protected Attributes

std::map< std::string, std::pair< KIID, std::unique_ptr< COMMIT > > > m_commits
 
std::set< std::string > m_activeClients
 
EDA_BASE_FRAMEm_frame
 
std::map< std::string, REQUEST_HANDLERm_handlers
 Maps type name (without the URL prefix) to a handler method.
 

Static Protected Attributes

static const wxString m_defaultCommitMessage = _( "Modification from API" )
 

Private Types

typedef std::map< std::string, PROPERTY_BASE * > PROTO_PROPERTY_MAP
 

Private Member Functions

HANDLER_RESULT< commands::RunActionResponse > handleRunAction (const HANDLER_CONTEXT< commands::RunAction > &aCtx)
 
HANDLER_RESULT< commands::GetOpenDocumentsResponse > handleGetOpenDocuments (const HANDLER_CONTEXT< commands::GetOpenDocuments > &aCtx)
 
HANDLER_RESULT< Empty > handleSaveDocument (const HANDLER_CONTEXT< commands::SaveDocument > &aCtx)
 
HANDLER_RESULT< Empty > handleSaveCopyOfDocument (const HANDLER_CONTEXT< commands::SaveCopyOfDocument > &aCtx)
 
HANDLER_RESULT< Empty > handleRevertDocument (const HANDLER_CONTEXT< commands::RevertDocument > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItems (const HANDLER_CONTEXT< commands::GetItems > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItemsById (const HANDLER_CONTEXT< commands::GetItemsById > &aCtx)
 
HANDLER_RESULT< commands::SelectionResponse > handleGetSelection (const HANDLER_CONTEXT< commands::GetSelection > &aCtx)
 
HANDLER_RESULT< Empty > handleClearSelection (const HANDLER_CONTEXT< commands::ClearSelection > &aCtx)
 
HANDLER_RESULT< commands::SelectionResponse > handleAddToSelection (const HANDLER_CONTEXT< commands::AddToSelection > &aCtx)
 
HANDLER_RESULT< commands::SelectionResponse > handleRemoveFromSelection (const HANDLER_CONTEXT< commands::RemoveFromSelection > &aCtx)
 
HANDLER_RESULT< BoardStackupResponse > handleGetStackup (const HANDLER_CONTEXT< GetBoardStackup > &aCtx)
 
HANDLER_RESULT< BoardEnabledLayersResponse > handleGetBoardEnabledLayers (const HANDLER_CONTEXT< GetBoardEnabledLayers > &aCtx)
 
HANDLER_RESULT< BoardEnabledLayersResponse > handleSetBoardEnabledLayers (const HANDLER_CONTEXT< SetBoardEnabledLayers > &aCtx)
 
HANDLER_RESULT< GraphicsDefaultsResponse > handleGetGraphicsDefaults (const HANDLER_CONTEXT< GetGraphicsDefaults > &aCtx)
 
HANDLER_RESULT< BoardDesignRulesResponse > handleGetBoardDesignRules (const HANDLER_CONTEXT< GetBoardDesignRules > &aCtx)
 
HANDLER_RESULT< BoardDesignRulesResponse > handleSetBoardDesignRules (const HANDLER_CONTEXT< SetBoardDesignRules > &aCtx)
 
HANDLER_RESULT< CustomRulesResponse > handleGetCustomDesignRules (const HANDLER_CONTEXT< GetCustomDesignRules > &aCtx)
 
HANDLER_RESULT< CustomRulesResponse > handleSetCustomDesignRules (const HANDLER_CONTEXT< SetCustomDesignRules > &aCtx)
 
HANDLER_RESULT< types::Vector2 > handleGetBoardOrigin (const HANDLER_CONTEXT< GetBoardOrigin > &aCtx)
 
HANDLER_RESULT< Empty > handleSetBoardOrigin (const HANDLER_CONTEXT< SetBoardOrigin > &aCtx)
 
HANDLER_RESULT< BoardLayerNameResponse > handleGetBoardLayerName (const HANDLER_CONTEXT< GetBoardLayerName > &aCtx)
 
HANDLER_RESULT< commands::GetBoundingBoxResponse > handleGetBoundingBox (const HANDLER_CONTEXT< commands::GetBoundingBox > &aCtx)
 
HANDLER_RESULT< PadShapeAsPolygonResponse > handleGetPadShapeAsPolygon (const HANDLER_CONTEXT< GetPadShapeAsPolygon > &aCtx)
 
HANDLER_RESULT< PadstackPresenceResponse > handleCheckPadstackPresenceOnLayers (const HANDLER_CONTEXT< CheckPadstackPresenceOnLayers > &aCtx)
 
HANDLER_RESULT< commands::ExpandTextVariablesResponse > handleExpandTextVariables (const HANDLER_CONTEXT< commands::ExpandTextVariables > &aCtx)
 
HANDLER_RESULT< Empty > handleInteractiveMoveItems (const HANDLER_CONTEXT< InteractiveMoveItems > &aCtx)
 
HANDLER_RESULT< NetsResponse > handleGetNets (const HANDLER_CONTEXT< GetNets > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetConnectedItems (const HANDLER_CONTEXT< GetConnectedItems > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItemsByNet (const HANDLER_CONTEXT< GetItemsByNet > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItemsByNetClass (const HANDLER_CONTEXT< GetItemsByNetClass > &aCtx)
 
HANDLER_RESULT< NetClassForNetsResponse > handleGetNetClassForNets (const HANDLER_CONTEXT< GetNetClassForNets > &aCtx)
 
HANDLER_RESULT< Empty > handleRefillZones (const HANDLER_CONTEXT< RefillZones > &aCtx)
 
HANDLER_RESULT< commands::SavedDocumentResponse > handleSaveDocumentToString (const HANDLER_CONTEXT< commands::SaveDocumentToString > &aCtx)
 
HANDLER_RESULT< commands::SavedSelectionResponse > handleSaveSelectionToString (const HANDLER_CONTEXT< commands::SaveSelectionToString > &aCtx)
 
HANDLER_RESULT< commands::CreateItemsResponse > handleParseAndCreateItemsFromString (const HANDLER_CONTEXT< commands::ParseAndCreateItemsFromString > &aCtx)
 
HANDLER_RESULT< BoardLayers > handleGetVisibleLayers (const HANDLER_CONTEXT< GetVisibleLayers > &aCtx)
 
HANDLER_RESULT< Empty > handleSetVisibleLayers (const HANDLER_CONTEXT< SetVisibleLayers > &aCtx)
 
HANDLER_RESULT< BoardLayerResponse > handleGetActiveLayer (const HANDLER_CONTEXT< GetActiveLayer > &aCtx)
 
HANDLER_RESULT< Empty > handleSetActiveLayer (const HANDLER_CONTEXT< SetActiveLayer > &aCtx)
 
HANDLER_RESULT< BoardEditorAppearanceSettings > handleGetBoardEditorAppearanceSettings (const HANDLER_CONTEXT< GetBoardEditorAppearanceSettings > &aCtx)
 
HANDLER_RESULT< Empty > handleSetBoardEditorAppearanceSettings (const HANDLER_CONTEXT< SetBoardEditorAppearanceSettings > &aCtx)
 
HANDLER_RESULT< InjectDrcErrorResponse > handleInjectDrcError (const HANDLER_CONTEXT< InjectDrcError > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExport3D (const HANDLER_CONTEXT< RunBoardJobExport3D > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportRender (const HANDLER_CONTEXT< RunBoardJobExportRender > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportSvg (const HANDLER_CONTEXT< RunBoardJobExportSvg > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportDxf (const HANDLER_CONTEXT< RunBoardJobExportDxf > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportPdf (const HANDLER_CONTEXT< RunBoardJobExportPdf > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportPs (const HANDLER_CONTEXT< RunBoardJobExportPs > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportGerbers (const HANDLER_CONTEXT< RunBoardJobExportGerbers > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportDrill (const HANDLER_CONTEXT< RunBoardJobExportDrill > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportPosition (const HANDLER_CONTEXT< RunBoardJobExportPosition > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportGencad (const HANDLER_CONTEXT< RunBoardJobExportGencad > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportIpc2581 (const HANDLER_CONTEXT< RunBoardJobExportIpc2581 > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportIpcD356 (const HANDLER_CONTEXT< RunBoardJobExportIpcD356 > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportODB (const HANDLER_CONTEXT< RunBoardJobExportODB > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportStats (const HANDLER_CONTEXT< RunBoardJobExportStats > &aCtx)
 
BOARD_CONTEXTcontext () const
 
BOARDboard () const
 
PROJECTproject () const
 
TOOL_MANAGERtoolManager () const
 
PCB_EDIT_FRAMEframe () const
 
bool isHeadless () const
 
std::optional< ApiResponseStatus > checkForHeadless (const std::string &aCommandName) const
 
void pushCurrentCommit (const std::string &aClientName, const wxString &aMessage) override
 
std::optional< BOARD_ITEM * > getItemById (const KIID &aId) const
 
HANDLER_RESULT< types::ItemRequestStatus > handleCreateUpdateItemsInternal (bool aCreate, const std::string &aClientName, const types::ItemHeader &aHeader, const google::protobuf::RepeatedPtrField< google::protobuf::Any > &aItems, std::function< void(commands::ItemStatus, google::protobuf::Any)> aItemHandler) override
 
template<typename MessageType>
bool tryUnpack (ApiRequest &aRequest, ApiResponse &aReply, MessageType &aDest)
 

Static Private Member Functions

static HANDLER_RESULT< std::unique_ptr< BOARD_ITEM > > createItemForType (KICAD_T aType, BOARD_ITEM_CONTAINER *aContainer)
 

Private Attributes

std::shared_ptr< BOARD_CONTEXTm_context
 

Detailed Description

Definition at line 55 of file api_handler_pcb.h.

Member Typedef Documentation

◆ PROTO_PROPERTY_MAP

typedef std::map<std::string, PROPERTY_BASE*> API_HANDLER_PCB::PROTO_PROPERTY_MAP
private

Definition at line 62 of file api_handler_pcb.h.

◆ REQUEST_HANDLER

typedef std::function<HANDLER_RESULT<ApiResponse>( ApiRequest& )> API_HANDLER::REQUEST_HANDLER
protectedinherited

A handler for outer messages (envelopes) that will unpack to inner messages and call a specific handler function.

See also
registerHandler.

Definition at line 76 of file api_handler.h.

Constructor & Destructor Documentation

◆ API_HANDLER_PCB() [1/2]

API_HANDLER_PCB::API_HANDLER_PCB ( PCB_EDIT_FRAME * aFrame)

Definition at line 87 of file api_handler_pcb.cpp.

References API_HANDLER_PCB(), and CreatePcbFrameContext().

Referenced by API_HANDLER_PCB().

◆ API_HANDLER_PCB() [2/2]

API_HANDLER_PCB::API_HANDLER_PCB ( std::shared_ptr< BOARD_CONTEXT > aContext,
PCB_EDIT_FRAME * aFrame = nullptr )

Definition at line 93 of file api_handler_pcb.cpp.

References API_HANDLER_EDITOR::API_HANDLER_EDITOR(), handleAddToSelection(), handleCheckPadstackPresenceOnLayers(), handleClearSelection(), handleExpandTextVariables(), handleGetActiveLayer(), handleGetBoardDesignRules(), handleGetBoardEditorAppearanceSettings(), handleGetBoardEnabledLayers(), handleGetBoardLayerName(), handleGetBoardOrigin(), handleGetBoundingBox(), handleGetConnectedItems(), handleGetCustomDesignRules(), handleGetGraphicsDefaults(), handleGetItems(), handleGetItemsById(), handleGetItemsByNet(), handleGetItemsByNetClass(), handleGetNetClassForNets(), handleGetNets(), handleGetOpenDocuments(), handleGetPadShapeAsPolygon(), API_HANDLER_EDITOR::handleGetPageSettings(), handleGetSelection(), handleGetStackup(), handleGetVisibleLayers(), handleInjectDrcError(), handleInteractiveMoveItems(), handleParseAndCreateItemsFromString(), handleRefillZones(), handleRemoveFromSelection(), handleRevertDocument(), handleRunAction(), handleRunBoardJobExport3D(), handleRunBoardJobExportDrill(), handleRunBoardJobExportDxf(), handleRunBoardJobExportGencad(), handleRunBoardJobExportGerbers(), handleRunBoardJobExportIpc2581(), handleRunBoardJobExportIpcD356(), handleRunBoardJobExportODB(), handleRunBoardJobExportPdf(), handleRunBoardJobExportPosition(), handleRunBoardJobExportPs(), handleRunBoardJobExportRender(), handleRunBoardJobExportStats(), handleRunBoardJobExportSvg(), handleSaveCopyOfDocument(), handleSaveDocument(), handleSaveDocumentToString(), handleSaveSelectionToString(), handleSetActiveLayer(), handleSetBoardDesignRules(), handleSetBoardEditorAppearanceSettings(), handleSetBoardEnabledLayers(), handleSetBoardOrigin(), handleSetCustomDesignRules(), API_HANDLER_EDITOR::handleSetPageSettings(), handleSetVisibleLayers(), m_context, move, and API_HANDLER::registerHandler().

Member Function Documentation

◆ board()

◆ checkForBusy()

std::optional< ApiResponseStatus > API_HANDLER_EDITOR::checkForBusy ( )
protectedvirtualinherited

Checks if the editor can accept commands.

Returns
an error status if busy, std::nullopt if not busy

Definition at line 222 of file api_handler_editor.cpp.

References m_frame.

Referenced by API_HANDLER_PCB::handleAddToSelection(), handleBeginCommit(), API_HANDLER_PCB::handleClearSelection(), handleCreateItems(), handleDeleteItems(), handleEndCommit(), API_HANDLER_PCB::handleGetBoundingBox(), API_HANDLER_PCB::handleGetConnectedItems(), API_HANDLER_PCB::handleGetItems(), API_HANDLER_SCH::handleGetItems(), API_HANDLER_PCB::handleGetItemsById(), API_HANDLER_SCH::handleGetItemsById(), API_HANDLER_PCB::handleGetItemsByNet(), API_HANDLER_PCB::handleGetItemsByNetClass(), API_HANDLER_SCH::handleGetSchematicNetlist(), handleHitTest(), API_HANDLER_PCB::handleInjectDrcError(), API_HANDLER_PCB::handleInteractiveMoveItems(), API_HANDLER_PCB::handleParseAndCreateItemsFromString(), API_HANDLER_PCB::handleRefillZones(), API_HANDLER_PCB::handleRemoveFromSelection(), API_HANDLER_PCB::handleRevertDocument(), API_HANDLER_PCB::handleRunAction(), API_HANDLER_PCB::handleRunBoardJobExport3D(), API_HANDLER_PCB::handleRunBoardJobExportDrill(), API_HANDLER_PCB::handleRunBoardJobExportDxf(), API_HANDLER_PCB::handleRunBoardJobExportGencad(), API_HANDLER_PCB::handleRunBoardJobExportGerbers(), API_HANDLER_PCB::handleRunBoardJobExportIpc2581(), API_HANDLER_PCB::handleRunBoardJobExportIpcD356(), API_HANDLER_PCB::handleRunBoardJobExportODB(), API_HANDLER_PCB::handleRunBoardJobExportPdf(), API_HANDLER_PCB::handleRunBoardJobExportPosition(), API_HANDLER_PCB::handleRunBoardJobExportPs(), API_HANDLER_PCB::handleRunBoardJobExportRender(), API_HANDLER_PCB::handleRunBoardJobExportStats(), API_HANDLER_PCB::handleRunBoardJobExportSvg(), API_HANDLER_SCH::handleRunSchematicJobExportBOM(), API_HANDLER_SCH::handleRunSchematicJobExportDxf(), API_HANDLER_SCH::handleRunSchematicJobExportNetlist(), API_HANDLER_SCH::handleRunSchematicJobExportPdf(), API_HANDLER_SCH::handleRunSchematicJobExportPs(), API_HANDLER_SCH::handleRunSchematicJobExportSvg(), API_HANDLER_PCB::handleSaveCopyOfDocument(), API_HANDLER_PCB::handleSaveDocument(), API_HANDLER_PCB::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardEditorAppearanceSettings(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetVisibleLayers(), and handleUpdateItems().

◆ checkForHeadless()

◆ context()

◆ createCommit()

std::unique_ptr< COMMIT > API_HANDLER_PCB::createCommit ( )
overrideprotectedvirtual

Override this to create an appropriate COMMIT subclass for the frame in question.

Returns
a new COMMIT, bound to the editor frame

Implements API_HANDLER_EDITOR.

Definition at line 372 of file api_handler_pcb.cpp.

References frame(), and toolManager().

◆ createItemForType()

HANDLER_RESULT< std::unique_ptr< BOARD_ITEM > > API_HANDLER_PCB::createItemForType ( KICAD_T aType,
BOARD_ITEM_CONTAINER * aContainer )
staticprivate

◆ deleteItemsInternal()

void API_HANDLER_PCB::deleteItemsInternal ( std::map< KIID, ItemDeletionStatus > & aItemsToDelete,
const std::string & aClientName )
overrideprotectedvirtual

◆ frame()

◆ getCurrentCommit()

◆ getDrawingSheetFileName()

wxString API_HANDLER_PCB::getDrawingSheetFileName ( )
overrideprotectedvirtual

Reimplemented from API_HANDLER_EDITOR.

Definition at line 2036 of file api_handler_pcb.cpp.

References BASE_SCREEN::m_DrawingSheetFileName.

◆ getItemById()

◆ getItemFromDocument()

std::optional< EDA_ITEM * > API_HANDLER_PCB::getItemFromDocument ( const DocumentSpecifier & aDocument,
const KIID & aId )
overrideprotectedvirtual

Implements API_HANDLER_EDITOR.

Definition at line 896 of file api_handler_pcb.cpp.

References getItemById(), and API_HANDLER_EDITOR::validateDocument().

◆ getIuScale()

virtual const EDA_IU_SCALE & API_HANDLER_EDITOR::getIuScale ( ) const
inlineprotectedvirtualinherited

Returns the internal-unit scale that the concrete editor uses.

API wire coordinates are always in nanometers, so this scale drives conversion to the editor's native IU. Defaults to pcbIUScale; schematic-like editors must override.

Reimplemented in API_HANDLER_SCH.

Definition at line 116 of file api_handler_editor.h.

References pcbIUScale.

Referenced by handleHitTest().

◆ getPageSettings()

std::optional< PAGE_INFO > API_HANDLER_PCB::getPageSettings ( )
overrideprotectedvirtual

Reimplemented from API_HANDLER_EDITOR.

Definition at line 2023 of file api_handler_pcb.cpp.

References context(), BOARD_CONTEXT::GetBoard(), and BOARD::GetPageSettings().

◆ getTitleBlock()

std::optional< TITLE_BLOCK * > API_HANDLER_PCB::getTitleBlock ( )
overrideprotectedvirtual

Reimplemented from API_HANDLER_EDITOR.

Definition at line 2017 of file api_handler_pcb.cpp.

References context(), BOARD_CONTEXT::GetBoard(), and BOARD::GetTitleBlock().

◆ Handle()

API_RESULT API_HANDLER::Handle ( ApiRequest & aMsg)
inherited

Attempt to handle the given API request, if a handler exists in this class for the message.

Parameters
aMsgis a request to attempt to handle
Returns
a response to send to the client, or an appropriate error

Definition at line 30 of file api_handler.cpp.

References m_handlers.

◆ handleAddToSelection()

◆ handleBeginCommit()

HANDLER_RESULT< BeginCommitResponse > API_HANDLER_EDITOR::handleBeginCommit ( const HANDLER_CONTEXT< commands::BeginCommit > & aCtx)
protectedinherited

◆ handleCheckPadstackPresenceOnLayers()

HANDLER_RESULT< PadstackPresenceResponse > API_HANDLER_PCB::handleCheckPadstackPresenceOnLayers ( const HANDLER_CONTEXT< CheckPadstackPresenceOnLayers > & aCtx)
private

◆ handleClearSelection()

◆ handleCreateItems()

HANDLER_RESULT< CreateItemsResponse > API_HANDLER_EDITOR::handleCreateItems ( const HANDLER_CONTEXT< commands::CreateItems > & aCtx)
protectedinherited

◆ handleCreateUpdateItemsInternal()

HANDLER_RESULT< ItemRequestStatus > API_HANDLER_PCB::handleCreateUpdateItemsInternal ( bool aCreate,
const std::string & aClientName,
const types::ItemHeader & aHeader,
const google::protobuf::RepeatedPtrField< google::protobuf::Any > & aItems,
std::function< void(commands::ItemStatus, google::protobuf::Any)> aItemHandler )
overrideprivatevirtual

◆ handleDeleteItems()

HANDLER_RESULT< DeleteItemsResponse > API_HANDLER_EDITOR::handleDeleteItems ( const HANDLER_CONTEXT< commands::DeleteItems > & aCtx)
protectedinherited

◆ handleEndCommit()

HANDLER_RESULT< EndCommitResponse > API_HANDLER_EDITOR::handleEndCommit ( const HANDLER_CONTEXT< commands::EndCommit > & aCtx)
protectedinherited

◆ handleExpandTextVariables()

HANDLER_RESULT< ExpandTextVariablesResponse > API_HANDLER_PCB::handleExpandTextVariables ( const HANDLER_CONTEXT< commands::ExpandTextVariables > & aCtx)
private

◆ handleGetActiveLayer()

HANDLER_RESULT< BoardLayerResponse > API_HANDLER_PCB::handleGetActiveLayer ( const HANDLER_CONTEXT< GetActiveLayer > & aCtx)
private

◆ handleGetBoardDesignRules()

HANDLER_RESULT< BoardDesignRulesResponse > API_HANDLER_PCB::handleGetBoardDesignRules ( const HANDLER_CONTEXT< GetBoardDesignRules > & aCtx)
private

Definition at line 1218 of file api_handler_pcb.cpp.

References PROJECT::AbsolutePath(), board(), context(), FILEEXT::DesignRulesFileExtension, BOARD_CONTEXT::GetBoard(), BOARD::GetDesignSettings(), BOARD::GetFileName(), TEARDROP_PARAMETERS_LIST::GetParameters(), BOARD_DESIGN_SETTINGS::m_AllowSoldermaskBridgesInFPs, TEARDROP_PARAMETERS::m_AllowUseTwoTracks, TEARDROP_PARAMETERS::m_BestLengthRatio, TEARDROP_PARAMETERS::m_BestWidthRatio, BOARD_DESIGN_SETTINGS::m_CapVias, BOARD_DESIGN_SETTINGS::m_CopperEdgeClearance, BOARD_DESIGN_SETTINGS::m_CoverViasBack, BOARD_DESIGN_SETTINGS::m_CoverViasFront, TEARDROP_PARAMETERS::m_CurvedEdges, BOARD_DESIGN_SETTINGS::m_DiffPairDimensionsList, BOARD_DESIGN_SETTINGS::m_DrcExclusionComments, BOARD_DESIGN_SETTINGS::m_DrcExclusions, BOARD_DESIGN_SETTINGS::m_DRCSeverities, TEARDROP_PARAMETERS::m_Enabled, BOARD_DESIGN_SETTINGS::m_FillVias, BOARD_DESIGN_SETTINGS::m_HoleClearance, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinConn, BOARD_DESIGN_SETTINGS::m_MinGrooveWidth, BOARD_DESIGN_SETTINGS::m_MinResolvedSpokes, BOARD_DESIGN_SETTINGS::m_MinSilkTextHeight, BOARD_DESIGN_SETTINGS::m_MinSilkTextThickness, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, BOARD_DESIGN_SETTINGS::m_PlugViasBack, BOARD_DESIGN_SETTINGS::m_PlugViasFront, BOARD_DESIGN_SETTINGS::m_SilkClearance, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, BOARD_DESIGN_SETTINGS::m_SolderMaskMinWidth, BOARD_DESIGN_SETTINGS::m_SolderMaskToCopperClearance, BOARD_DESIGN_SETTINGS::m_SolderPasteMargin, BOARD_DESIGN_SETTINGS::m_SolderPasteMarginRatio, TEARDROP_PARAMETERS_LIST::m_TargetPTHPads, TEARDROP_PARAMETERS_LIST::m_TargetSMDPads, TEARDROP_PARAMETERS_LIST::m_TargetTrack2Track, TEARDROP_PARAMETERS_LIST::m_TargetVias, TEARDROP_PARAMETERS::m_TdMaxLen, TEARDROP_PARAMETERS::m_TdMaxWidth, TEARDROP_PARAMETERS::m_TdOnPadsInZones, BOARD_DESIGN_SETTINGS::m_TeardropParamsList, BOARD_DESIGN_SETTINGS::m_TentViasBack, BOARD_DESIGN_SETTINGS::m_TentViasFront, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackWidthList, TEARDROP_PARAMETERS_LIST::m_UseRoundShapesOnly, BOARD_DESIGN_SETTINGS::m_ViasDimensionsList, BOARD_DESIGN_SETTINGS::m_ViasMinAnnularWidth, BOARD_DESIGN_SETTINGS::m_ViasMinSize, TEARDROP_PARAMETERS::m_WidthtoSizeFilterRatio, DRC_RULES_PARSER::Parse(), BOARD_CONTEXT::Prj(), HANDLER_CONTEXT< RequestMessageType >::Request, TARGET_ROUND, TARGET_TRACK, ToProtoEnum(), API_HANDLER_EDITOR::validateDocument(), and via.

Referenced by API_HANDLER_PCB(), and handleSetBoardDesignRules().

◆ handleGetBoardEditorAppearanceSettings()

HANDLER_RESULT< BoardEditorAppearanceSettings > API_HANDLER_PCB::handleGetBoardEditorAppearanceSettings ( const HANDLER_CONTEXT< GetBoardEditorAppearanceSettings > & aCtx)
private

◆ handleGetBoardEnabledLayers()

HANDLER_RESULT< BoardEnabledLayersResponse > API_HANDLER_PCB::handleGetBoardEnabledLayers ( const HANDLER_CONTEXT< GetBoardEnabledLayers > & aCtx)
private

◆ handleGetBoardLayerName()

HANDLER_RESULT< BoardLayerNameResponse > API_HANDLER_PCB::handleGetBoardLayerName ( const HANDLER_CONTEXT< GetBoardLayerName > & aCtx)
private

◆ handleGetBoardOrigin()

◆ handleGetBoundingBox()

HANDLER_RESULT< GetBoundingBoxResponse > API_HANDLER_PCB::handleGetBoundingBox ( const HANDLER_CONTEXT< commands::GetBoundingBox > & aCtx)
private

◆ handleGetConnectedItems()

◆ handleGetCustomDesignRules()

◆ handleGetGraphicsDefaults()

◆ handleGetItems()

◆ handleGetItemsById()

HANDLER_RESULT< GetItemsResponse > API_HANDLER_PCB::handleGetItemsById ( const HANDLER_CONTEXT< commands::GetItemsById > & aCtx)
private

◆ handleGetItemsByNet()

◆ handleGetItemsByNetClass()

◆ handleGetNetClassForNets()

HANDLER_RESULT< NetClassForNetsResponse > API_HANDLER_PCB::handleGetNetClassForNets ( const HANDLER_CONTEXT< GetNetClassForNets > & aCtx)
private

◆ handleGetNets()

HANDLER_RESULT< NetsResponse > API_HANDLER_PCB::handleGetNets ( const HANDLER_CONTEXT< GetNets > & aCtx)
private

◆ handleGetOpenDocuments()

HANDLER_RESULT< GetOpenDocumentsResponse > API_HANDLER_PCB::handleGetOpenDocuments ( const HANDLER_CONTEXT< commands::GetOpenDocuments > & aCtx)
private

◆ handleGetPadShapeAsPolygon()

HANDLER_RESULT< PadShapeAsPolygonResponse > API_HANDLER_PCB::handleGetPadShapeAsPolygon ( const HANDLER_CONTEXT< GetPadShapeAsPolygon > & aCtx)
private

◆ handleGetPageSettings()

◆ handleGetSelection()

◆ handleGetStackup()

HANDLER_RESULT< BoardStackupResponse > API_HANDLER_PCB::handleGetStackup ( const HANDLER_CONTEXT< GetBoardStackup > & aCtx)
private

◆ handleGetTitleBlockInfo()

HANDLER_RESULT< types::TitleBlockInfo > API_HANDLER_EDITOR::handleGetTitleBlockInfo ( const HANDLER_CONTEXT< commands::GetTitleBlockInfo > & aCtx)
protectedinherited

◆ handleGetVisibleLayers()

HANDLER_RESULT< BoardLayers > API_HANDLER_PCB::handleGetVisibleLayers ( const HANDLER_CONTEXT< GetVisibleLayers > & aCtx)
private

◆ handleHitTest()

HANDLER_RESULT< HitTestResponse > API_HANDLER_EDITOR::handleHitTest ( const HANDLER_CONTEXT< commands::HitTest > & aCtx)
protectedinherited

◆ handleInjectDrcError()

◆ handleInteractiveMoveItems()

◆ handleParseAndCreateItemsFromString()

HANDLER_RESULT< CreateItemsResponse > API_HANDLER_PCB::handleParseAndCreateItemsFromString ( const HANDLER_CONTEXT< commands::ParseAndCreateItemsFromString > & aCtx)
private

◆ handleRefillZones()

◆ handleRemoveFromSelection()

◆ handleRevertDocument()

◆ handleRunAction()

HANDLER_RESULT< RunActionResponse > API_HANDLER_PCB::handleRunAction ( const HANDLER_CONTEXT< commands::RunAction > & aCtx)
private

◆ handleRunBoardJobExport3D()

HANDLER_RESULT< types::RunJobResponse > API_HANDLER_PCB::handleRunBoardJobExport3D ( const HANDLER_CONTEXT< RunBoardJobExport3D > & aCtx)
private

Definition at line 2846 of file api_handler_pcb.cpp.

References API_HANDLER_EDITOR::checkForBusy(), context(), ExecuteBoardJob(), FromProtoEnum(), BOARD_CONTEXT::GetCurrentFileName(), JOB_EXPORT_PCB_3D::m_3dparams, EXPORTER_STEP_PARAMS::m_BoardOnly, EXPORTER_STEP_PARAMS::m_BoardOutlinesChainingEpsilon, EXPORTER_STEP_PARAMS::m_ComponentFilter, EXPORTER_STEP_PARAMS::m_CutViasInBody, EXPORTER_STEP_PARAMS::m_ExportBoardBody, EXPORTER_STEP_PARAMS::m_ExportComponents, EXPORTER_STEP_PARAMS::m_ExportInnerCopper, EXPORTER_STEP_PARAMS::m_ExportPads, EXPORTER_STEP_PARAMS::m_ExportSilkscreen, EXPORTER_STEP_PARAMS::m_ExportSoldermask, EXPORTER_STEP_PARAMS::m_ExportTracksVias, EXPORTER_STEP_PARAMS::m_ExportZones, EXPORTER_STEP_PARAMS::m_ExtraPadThickness, JOB_EXPORT_PCB_3D::m_filename, EXPORTER_STEP_PARAMS::m_FillAllVias, JOB_EXPORT_PCB_3D::m_format, EXPORTER_STEP_PARAMS::m_FuseShapes, JOB_EXPORT_PCB_3D::m_hasUserOrigin, EXPORTER_STEP_PARAMS::m_IncludeDNP, EXPORTER_STEP_PARAMS::m_IncludeUnspecified, EXPORTER_STEP_PARAMS::m_NetFilter, EXPORTER_STEP_PARAMS::m_OptimizeStep, EXPORTER_STEP_PARAMS::m_Origin, EXPORTER_STEP_PARAMS::m_Overwrite, EXPORTER_STEP_PARAMS::m_SubstModels, EXPORTER_STEP_PARAMS::m_UseDefinedOrigin, EXPORTER_STEP_PARAMS::m_UseDrillOrigin, EXPORTER_STEP_PARAMS::m_UseGridOrigin, EXPORTER_STEP_PARAMS::m_UsePcbCenterOrigin, JOB_EXPORT_PCB_3D::m_variant, JOB_EXPORT_PCB_3D::m_vrmlModelDir, JOB_EXPORT_PCB_3D::m_vrmlRelativePaths, JOB_EXPORT_PCB_3D::m_vrmlUnits, HANDLER_CONTEXT< RequestMessageType >::Request, JOB::SetConfiguredOutputPath(), and API_HANDLER_EDITOR::validateDocument().

Referenced by API_HANDLER_PCB().

◆ handleRunBoardJobExportDrill()

◆ handleRunBoardJobExportDxf()

◆ handleRunBoardJobExportGencad()

◆ handleRunBoardJobExportGerbers()

◆ handleRunBoardJobExportIpc2581()

◆ handleRunBoardJobExportIpcD356()

◆ handleRunBoardJobExportODB()

◆ handleRunBoardJobExportPdf()

◆ handleRunBoardJobExportPosition()

◆ handleRunBoardJobExportPs()

◆ handleRunBoardJobExportRender()

◆ handleRunBoardJobExportStats()

◆ handleRunBoardJobExportSvg()

◆ handleSaveCopyOfDocument()

◆ handleSaveDocument()

HANDLER_RESULT< Empty > API_HANDLER_PCB::handleSaveDocument ( const HANDLER_CONTEXT< commands::SaveDocument > & aCtx)
private

◆ handleSaveDocumentToString()

HANDLER_RESULT< SavedDocumentResponse > API_HANDLER_PCB::handleSaveDocumentToString ( const HANDLER_CONTEXT< commands::SaveDocumentToString > & aCtx)
private

◆ handleSaveSelectionToString()

HANDLER_RESULT< SavedSelectionResponse > API_HANDLER_PCB::handleSaveSelectionToString ( const HANDLER_CONTEXT< commands::SaveSelectionToString > & aCtx)
private

◆ handleSetActiveLayer()

◆ handleSetBoardDesignRules()

HANDLER_RESULT< BoardDesignRulesResponse > API_HANDLER_PCB::handleSetBoardDesignRules ( const HANDLER_CONTEXT< SetBoardDesignRules > & aCtx)
private

Definition at line 1373 of file api_handler_pcb.cpp.

References board(), HANDLER_CONTEXT< RequestMessageType >::ClientName, BOARD_DESIGN_SETTINGS::VALIDATION_ERROR::error_message, frame(), FromProtoEnum(), TEARDROP_PARAMETERS_LIST::GetParameters(), handleGetBoardDesignRules(), BOARD_DESIGN_SETTINGS::m_AllowSoldermaskBridgesInFPs, TEARDROP_PARAMETERS::m_AllowUseTwoTracks, TEARDROP_PARAMETERS::m_BestLengthRatio, TEARDROP_PARAMETERS::m_BestWidthRatio, BOARD_DESIGN_SETTINGS::m_CapVias, BOARD_DESIGN_SETTINGS::m_CopperEdgeClearance, BOARD_DESIGN_SETTINGS::m_CoverViasBack, BOARD_DESIGN_SETTINGS::m_CoverViasFront, TEARDROP_PARAMETERS::m_CurvedEdges, BOARD_DESIGN_SETTINGS::m_DiffPairDimensionsList, BOARD_DESIGN_SETTINGS::m_DrcExclusionComments, BOARD_DESIGN_SETTINGS::m_DrcExclusions, BOARD_DESIGN_SETTINGS::m_DRCSeverities, TEARDROP_PARAMETERS::m_Enabled, BOARD_DESIGN_SETTINGS::m_FillVias, BOARD_DESIGN_SETTINGS::m_HoleClearance, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinConn, BOARD_DESIGN_SETTINGS::m_MinGrooveWidth, BOARD_DESIGN_SETTINGS::m_MinResolvedSpokes, BOARD_DESIGN_SETTINGS::m_MinSilkTextHeight, BOARD_DESIGN_SETTINGS::m_MinSilkTextThickness, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, BOARD_DESIGN_SETTINGS::m_PlugViasBack, BOARD_DESIGN_SETTINGS::m_PlugViasFront, BOARD_DESIGN_SETTINGS::m_SilkClearance, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, BOARD_DESIGN_SETTINGS::m_SolderMaskMinWidth, BOARD_DESIGN_SETTINGS::m_SolderMaskToCopperClearance, BOARD_DESIGN_SETTINGS::m_SolderPasteMargin, BOARD_DESIGN_SETTINGS::m_SolderPasteMarginRatio, TEARDROP_PARAMETERS_LIST::m_TargetPTHPads, TEARDROP_PARAMETERS_LIST::m_TargetSMDPads, TEARDROP_PARAMETERS_LIST::m_TargetTrack2Track, TEARDROP_PARAMETERS_LIST::m_TargetVias, TEARDROP_PARAMETERS::m_TdMaxLen, TEARDROP_PARAMETERS::m_TdMaxWidth, TEARDROP_PARAMETERS::m_TdOnPadsInZones, BOARD_DESIGN_SETTINGS::m_TeardropParamsList, BOARD_DESIGN_SETTINGS::m_TentViasBack, BOARD_DESIGN_SETTINGS::m_TentViasFront, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackWidthList, TEARDROP_PARAMETERS_LIST::m_UseRoundShapesOnly, BOARD_DESIGN_SETTINGS::m_ViasDimensionsList, BOARD_DESIGN_SETTINGS::m_ViasMinAnnularWidth, BOARD_DESIGN_SETTINGS::m_ViasMinSize, TEARDROP_PARAMETERS::m_WidthtoSizeFilterRatio, PCB_EDIT_FRAME::OnModify(), HANDLER_CONTEXT< RequestMessageType >::Request, RPT_SEVERITY_ERROR, RPT_SEVERITY_IGNORE, RPT_SEVERITY_WARNING, BOARD::SetDesignSettings(), BOARD_DESIGN_SETTINGS::VALIDATION_ERROR::setting_name, PCB_EDIT_FRAME::UpdateUserInterface(), BOARD_DESIGN_SETTINGS::ValidateDesignRules(), API_HANDLER_EDITOR::validateDocument(), and via.

Referenced by API_HANDLER_PCB().

◆ handleSetBoardEditorAppearanceSettings()

◆ handleSetBoardEnabledLayers()

◆ handleSetBoardOrigin()

◆ handleSetCustomDesignRules()

◆ handleSetPageSettings()

◆ handleSetTitleBlockInfo()

HANDLER_RESULT< google::protobuf::Empty > API_HANDLER_EDITOR::handleSetTitleBlockInfo ( const HANDLER_CONTEXT< commands::SetTitleBlockInfo > & aCtx)
protectedinherited

◆ handleSetVisibleLayers()

◆ handleUpdateItems()

HANDLER_RESULT< UpdateItemsResponse > API_HANDLER_EDITOR::handleUpdateItems ( const HANDLER_CONTEXT< commands::UpdateItems > & aCtx)
protectedinherited

◆ isHeadless()

bool API_HANDLER_PCB::isHeadless ( ) const
inlineprivate

Definition at line 264 of file api_handler_pcb.h.

References frame().

◆ onModified()

void API_HANDLER_PCB::onModified ( )
overrideprotectedvirtual

◆ parseRequestedItemTypes()

std::vector< KICAD_T > API_HANDLER_EDITOR::parseRequestedItemTypes ( const google::protobuf::RepeatedField< int > & aTypes)
staticprotectedinherited

◆ project()

PROJECT & API_HANDLER_PCB::project ( ) const
inlineprivate

◆ pushCurrentCommit()

void API_HANDLER_PCB::pushCurrentCommit ( const std::string & aClientName,
const wxString & aMessage )
overrideprivatevirtual

◆ registerHandler()

template<class RequestType, class ResponseType, class HandlerType>
void API_HANDLER::registerHandler ( HANDLER_RESULT< ResponseType >(HandlerType::* aHandler )(const HANDLER_CONTEXT< RequestType > &))
inlineprotectedinherited

Registers an API command handler for the given message types.

When an API request matching the given type comes in, the handler will be called and its response will be packed into an envelope for sending back to the API client.

If the given message does not unpack into the request type, an envelope is returned with status AS_BAD_REQUEST, which probably indicates corruption in the message.

Template Parameters
RequestTypeis a protobuf message type containing a command
ResponseTypeis a protobuf message type containing a command response
HandlerTypeis the implied type of the API_HANDLER subclass
Parameters
aHandleris the handler function for the given request and response types

Definition at line 93 of file api_handler.h.

References HANDLER_CONTEXT< RequestMessageType >::ClientName, m_handlers, HANDLER_CONTEXT< RequestMessageType >::Request, and tryUnpack().

Referenced by API_HANDLER_COMMON::API_HANDLER_COMMON(), API_HANDLER_EDITOR::API_HANDLER_EDITOR(), API_HANDLER_PCB::API_HANDLER_PCB(), and API_HANDLER_SCH::API_HANDLER_SCH().

◆ setDrawingSheetFileName()

void API_HANDLER_PCB::setDrawingSheetFileName ( const wxString & aFileName)
overrideprotectedvirtual

◆ setPageSettings()

bool API_HANDLER_PCB::setPageSettings ( const PAGE_INFO & aPageInfo)
overrideprotectedvirtual

Reimplemented from API_HANDLER_EDITOR.

Definition at line 2029 of file api_handler_pcb.cpp.

References context(), BOARD_CONTEXT::GetBoard(), and BOARD::SetPageSettings().

◆ thisDocumentType()

kiapi::common::types::DocumentType API_HANDLER_PCB::thisDocumentType ( ) const
inlineoverrideprotectedvirtual

Override this to specify which document type this editor handles.

Implements API_HANDLER_EDITOR.

Definition at line 229 of file api_handler_pcb.h.

◆ toolManager()

◆ tryUnpack()

template<typename MessageType>
bool API_HANDLER::tryUnpack ( ApiRequest & aRequest,
ApiResponse & aReply,
MessageType & aDest )
inlineprivateinherited

Definition at line 136 of file api_handler.h.

Referenced by registerHandler().

◆ validateDocument()

HANDLER_RESULT< bool > API_HANDLER_EDITOR::validateDocument ( const DocumentSpecifier & aDocument)
protectedinherited

Definition at line 178 of file api_handler_editor.cpp.

References validateDocumentInternal().

Referenced by API_HANDLER_PCB::getItemFromDocument(), API_HANDLER_SCH::getItemFromDocument(), API_HANDLER_PCB::handleCheckPadstackPresenceOnLayers(), API_HANDLER_PCB::handleExpandTextVariables(), API_HANDLER_PCB::handleGetActiveLayer(), API_HANDLER_PCB::handleGetBoardDesignRules(), API_HANDLER_PCB::handleGetBoardEnabledLayers(), API_HANDLER_PCB::handleGetBoardLayerName(), API_HANDLER_PCB::handleGetBoardOrigin(), API_HANDLER_PCB::handleGetCustomDesignRules(), API_HANDLER_PCB::handleGetGraphicsDefaults(), API_HANDLER_PCB::handleGetNets(), API_HANDLER_PCB::handleGetPadShapeAsPolygon(), handleGetPageSettings(), API_HANDLER_SCH::handleGetSchematicHierarchy(), API_HANDLER_SCH::handleGetSchematicNetlist(), API_HANDLER_PCB::handleGetStackup(), handleGetTitleBlockInfo(), API_HANDLER_PCB::handleGetVisibleLayers(), API_HANDLER_PCB::handleInjectDrcError(), API_HANDLER_PCB::handleInteractiveMoveItems(), API_HANDLER_PCB::handleParseAndCreateItemsFromString(), API_HANDLER_PCB::handleRefillZones(), API_HANDLER_PCB::handleRevertDocument(), API_HANDLER_PCB::handleRunBoardJobExport3D(), API_HANDLER_PCB::handleRunBoardJobExportDrill(), API_HANDLER_PCB::handleRunBoardJobExportDxf(), API_HANDLER_PCB::handleRunBoardJobExportGencad(), API_HANDLER_PCB::handleRunBoardJobExportGerbers(), API_HANDLER_PCB::handleRunBoardJobExportIpc2581(), API_HANDLER_PCB::handleRunBoardJobExportIpcD356(), API_HANDLER_PCB::handleRunBoardJobExportODB(), API_HANDLER_PCB::handleRunBoardJobExportPdf(), API_HANDLER_PCB::handleRunBoardJobExportPosition(), API_HANDLER_PCB::handleRunBoardJobExportPs(), API_HANDLER_PCB::handleRunBoardJobExportRender(), API_HANDLER_PCB::handleRunBoardJobExportStats(), API_HANDLER_PCB::handleRunBoardJobExportSvg(), API_HANDLER_SCH::handleRunSchematicJobExportBOM(), API_HANDLER_SCH::handleRunSchematicJobExportDxf(), API_HANDLER_SCH::handleRunSchematicJobExportNetlist(), API_HANDLER_SCH::handleRunSchematicJobExportPdf(), API_HANDLER_SCH::handleRunSchematicJobExportPs(), API_HANDLER_SCH::handleRunSchematicJobExportSvg(), API_HANDLER_PCB::handleSaveCopyOfDocument(), API_HANDLER_PCB::handleSaveDocument(), API_HANDLER_PCB::handleSaveDocumentToString(), API_HANDLER_PCB::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardDesignRules(), API_HANDLER_PCB::handleSetBoardEnabledLayers(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetCustomDesignRules(), handleSetPageSettings(), handleSetTitleBlockInfo(), API_HANDLER_PCB::handleSetVisibleLayers(), and validateItemHeaderDocument().

◆ validateDocumentInternal()

tl::expected< bool, ApiResponseStatus > API_HANDLER_PCB::validateDocumentInternal ( const DocumentSpecifier & aDocument) const
overrideprotectedvirtual
Returns
true if the given document is valid for this editor and is currently open

Implements API_HANDLER_EDITOR.

Definition at line 392 of file api_handler_pcb.cpp.

References context().

◆ validateItemHeaderDocument()

Member Data Documentation

◆ m_activeClients

◆ m_commits

std::map<std::string, std::pair<KIID, std::unique_ptr<COMMIT> > > API_HANDLER_EDITOR::m_commits
protectedinherited

◆ m_context

std::shared_ptr<BOARD_CONTEXT> API_HANDLER_PCB::m_context
private

Definition at line 279 of file api_handler_pcb.h.

Referenced by API_HANDLER_PCB(), and context().

◆ m_defaultCommitMessage

const wxString API_HANDLER::m_defaultCommitMessage = _( "Modification from API" )
staticprotectedinherited

Definition at line 131 of file api_handler.h.

Referenced by API_HANDLER_EDITOR::pushCurrentCommit().

◆ m_frame

EDA_BASE_FRAME* API_HANDLER_EDITOR::m_frame
protectedinherited

Definition at line 149 of file api_handler_editor.h.

Referenced by API_HANDLER_EDITOR(), checkForBusy(), and API_HANDLER_PCB::frame().

◆ m_handlers

std::map<std::string, REQUEST_HANDLER> API_HANDLER::m_handlers
protectedinherited

Maps type name (without the URL prefix) to a handler method.

Definition at line 129 of file api_handler.h.

Referenced by Handle(), and registerHandler().


The documentation for this class was generated from the following files: