KiCad PCB EDA Suite
Loading...
Searching...
No Matches
API_HANDLER_BOARD Class Referenceabstract

Common base class for API handlers that operate on a BOARD via a BOARD_CONTEXT. More...

#include <api_handler_board.h>

Inheritance diagram for API_HANDLER_BOARD:
API_HANDLER_EDITOR API_HANDLER API_HANDLER_FOOTPRINT API_HANDLER_PCB

Public Member Functions

 API_HANDLER_BOARD (std::shared_ptr< BOARD_CONTEXT > aContext, EDA_BASE_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.
 
void deleteItemsInternal (std::map< KIID, ItemDeletionStatus > &aItemsToDelete, const std::string &aClientName) override
 
std::optional< EDA_ITEM * > getItemFromDocument (const DocumentSpecifier &aDocument, const KIID &aId) override
 
void pushCurrentCommit (const std::string &aClientName, const wxString &aMessage) override
 
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
 
BOARD_CONTEXTcontext () const
 
BOARDboard () const
 
PROJECTproject () const
 
TOOL_MANAGERtoolManager () const
 
std::optional< BOARD_ITEM * > getItemById (const KIID &aId) const
 
virtual BOARD_ITEM_CONTAINERgetDefaultContainer ()
 
std::optional< ApiResponseStatus > checkForHeadless (const std::string &aCommandName) const
 
std::vector< KICAD_TparseRequestedItemTypes (const google::protobuf::RepeatedField< int > &aTypes)
 
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 types::DocumentType thisDocumentType () const =0
 Override this to specify which document type this editor handles.
 
virtual tl::expected< bool, ApiResponseStatus > validateDocumentInternal (const DocumentSpecifier &aDocument) const =0
 
virtual const EDA_IU_SCALEgetIuScale () const
 Returns the internal-unit scale that the concrete editor uses.
 
virtual std::optional< TITLE_BLOCK * > getTitleBlock ()
 
virtual std::optional< PAGE_INFOgetPageSettings ()
 
virtual bool setPageSettings (const PAGE_INFO &aPageInfo)
 
virtual wxString getDrawingSheetFileName ()
 
virtual void setDrawingSheetFileName (const wxString &aFileName)
 
virtual void onModified ()
 
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 HANDLER_RESULT< std::unique_ptr< BOARD_ITEM > > createItemForType (KICAD_T aType, BOARD_ITEM_CONTAINER *aContainer)
 

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 Member Functions

HANDLER_RESULT< commands::RunActionResponse > handleRunAction (const HANDLER_CONTEXT< commands::RunAction > &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< GraphicsDefaultsResponse > handleGetGraphicsDefaults (const HANDLER_CONTEXT< GetGraphicsDefaults > &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< 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)
 
template<typename MessageType>
bool tryUnpack (ApiRequest &aRequest, ApiResponse &aReply, MessageType &aDest)
 

Private Attributes

std::shared_ptr< BOARD_CONTEXTm_context
 

Detailed Description

Common base class for API handlers that operate on a BOARD via a BOARD_CONTEXT.

Shared by both the PCB editor and the footprint editor.

Definition at line 53 of file api_handler_board.h.

Member Typedef Documentation

◆ 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_BOARD()

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_BOARD::handleAddToSelection(), handleBeginCommit(), API_HANDLER_BOARD::handleClearSelection(), handleCreateItems(), handleDeleteItems(), handleEndCommit(), API_HANDLER_BOARD::handleGetBoundingBox(), API_HANDLER_PCB::handleGetConnectedItems(), API_HANDLER_FOOTPRINT::handleGetItems(), API_HANDLER_PCB::handleGetItems(), API_HANDLER_SCH::handleGetItems(), API_HANDLER_BOARD::handleGetItemsById(), API_HANDLER_SCH::handleGetItemsById(), API_HANDLER_PCB::handleGetItemsByNet(), API_HANDLER_PCB::handleGetItemsByNetClass(), API_HANDLER_SCH::handleGetSchematicNetlist(), handleHitTest(), API_HANDLER_PCB::handleInjectDrcError(), API_HANDLER_BOARD::handleInteractiveMoveItems(), API_HANDLER_BOARD::handleParseAndCreateItemsFromString(), API_HANDLER_PCB::handleRefillZones(), API_HANDLER_BOARD::handleRemoveFromSelection(), API_HANDLER_FOOTPRINT::handleRevertDocument(), API_HANDLER_PCB::handleRevertDocument(), API_HANDLER_BOARD::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_BOARD::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardEditorAppearanceSettings(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_BOARD::handleSetVisibleLayers(), handleUpdateItems(), and API_HANDLER_FOOTPRINT::validateAndGetFootprint().

◆ checkForHeadless()

◆ context()

◆ createCommit()

std::unique_ptr< COMMIT > API_HANDLER_BOARD::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 126 of file api_handler_board.cpp.

References API_HANDLER_EDITOR::m_frame, and toolManager().

◆ createItemForType()

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

◆ deleteItemsInternal()

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

◆ getCurrentCommit()

◆ getDefaultContainer()

BOARD_ITEM_CONTAINER * API_HANDLER_BOARD::getDefaultContainer ( )
protectedvirtual

Reimplemented in API_HANDLER_FOOTPRINT.

Definition at line 110 of file api_handler_board.cpp.

References board().

Referenced by handleCreateUpdateItemsInternal().

◆ getDrawingSheetFileName()

virtual wxString API_HANDLER_EDITOR::getDrawingSheetFileName ( )
inlineprotectedvirtualinherited

Reimplemented in API_HANDLER_PCB, and API_HANDLER_SCH.

Definition at line 138 of file api_handler_editor.h.

Referenced by handleGetPageSettings(), and handleSetPageSettings().

◆ getItemById()

◆ getItemFromDocument()

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

Implements API_HANDLER_EDITOR.

Definition at line 217 of file api_handler_board.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()

virtual std::optional< PAGE_INFO > API_HANDLER_EDITOR::getPageSettings ( )
inlineprotectedvirtualinherited

Reimplemented in API_HANDLER_PCB, and API_HANDLER_SCH.

Definition at line 134 of file api_handler_editor.h.

Referenced by handleGetPageSettings(), and handleSetPageSettings().

◆ getTitleBlock()

virtual std::optional< TITLE_BLOCK * > API_HANDLER_EDITOR::getTitleBlock ( )
inlineprotectedvirtualinherited

Reimplemented in API_HANDLER_PCB, and API_HANDLER_SCH.

Definition at line 132 of file api_handler_editor.h.

Referenced by handleGetTitleBlockInfo(), and handleSetTitleBlockInfo().

◆ 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_BOARD::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_BOARD::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 )
overrideprotectedvirtual

◆ 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_BOARD::handleExpandTextVariables ( const HANDLER_CONTEXT< commands::ExpandTextVariables > & aCtx)
private

◆ handleGetActiveLayer()

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

◆ handleGetBoardEnabledLayers()

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

◆ handleGetBoundingBox()

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

◆ handleGetGraphicsDefaults()

◆ handleGetItemsById()

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

◆ handleGetPadShapeAsPolygon()

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

◆ handleGetPageSettings()

◆ handleGetSelection()

◆ handleGetStackup()

HANDLER_RESULT< BoardStackupResponse > API_HANDLER_BOARD::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_BOARD::handleGetVisibleLayers ( const HANDLER_CONTEXT< GetVisibleLayers > & aCtx)
private

◆ handleHitTest()

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

◆ handleInteractiveMoveItems()

◆ handleParseAndCreateItemsFromString()

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

◆ handleRemoveFromSelection()

◆ handleRunAction()

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

◆ handleSaveDocumentToString()

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

◆ handleSaveSelectionToString()

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

◆ handleSetActiveLayer()

◆ 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

◆ onModified()

virtual void API_HANDLER_EDITOR::onModified ( )
inlineprotectedvirtualinherited

Reimplemented in API_HANDLER_PCB, and API_HANDLER_SCH.

Definition at line 142 of file api_handler_editor.h.

Referenced by handleSetPageSettings(), and handleSetTitleBlockInfo().

◆ parseRequestedItemTypes()

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

◆ project()

◆ pushCurrentCommit()

void API_HANDLER_BOARD::pushCurrentCommit ( const std::string & aClientName,
const wxString & aMessage )
overrideprotectedvirtual

◆ 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_BOARD::API_HANDLER_BOARD(), API_HANDLER_COMMON::API_HANDLER_COMMON(), API_HANDLER_EDITOR::API_HANDLER_EDITOR(), API_HANDLER_FOOTPRINT::API_HANDLER_FOOTPRINT(), API_HANDLER_PCB::API_HANDLER_PCB(), and API_HANDLER_SCH::API_HANDLER_SCH().

◆ setDrawingSheetFileName()

virtual void API_HANDLER_EDITOR::setDrawingSheetFileName ( const wxString & aFileName)
inlineprotectedvirtualinherited

Reimplemented in API_HANDLER_PCB, and API_HANDLER_SCH.

Definition at line 140 of file api_handler_editor.h.

Referenced by handleSetPageSettings().

◆ setPageSettings()

virtual bool API_HANDLER_EDITOR::setPageSettings ( const PAGE_INFO & aPageInfo)
inlineprotectedvirtualinherited

Reimplemented in API_HANDLER_PCB, and API_HANDLER_SCH.

Definition at line 136 of file api_handler_editor.h.

Referenced by handleSetPageSettings().

◆ thisDocumentType()

virtual types::DocumentType API_HANDLER_EDITOR::thisDocumentType ( ) const
protectedpure virtualinherited

Override this to specify which document type this editor handles.

Implemented in API_HANDLER_FOOTPRINT, API_HANDLER_PCB, and API_HANDLER_SCH.

Referenced by validateItemHeaderDocument().

◆ 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_BOARD::getItemFromDocument(), API_HANDLER_SCH::getItemFromDocument(), API_HANDLER_BOARD::handleCheckPadstackPresenceOnLayers(), API_HANDLER_BOARD::handleExpandTextVariables(), API_HANDLER_BOARD::handleGetActiveLayer(), API_HANDLER_PCB::handleGetBoardDesignRules(), API_HANDLER_BOARD::handleGetBoardEnabledLayers(), API_HANDLER_PCB::handleGetBoardLayerName(), API_HANDLER_PCB::handleGetBoardOrigin(), API_HANDLER_PCB::handleGetCustomDesignRules(), API_HANDLER_BOARD::handleGetGraphicsDefaults(), API_HANDLER_PCB::handleGetNets(), API_HANDLER_BOARD::handleGetPadShapeAsPolygon(), handleGetPageSettings(), API_HANDLER_SCH::handleGetSchematicHierarchy(), API_HANDLER_SCH::handleGetSchematicNetlist(), API_HANDLER_BOARD::handleGetStackup(), handleGetTitleBlockInfo(), API_HANDLER_BOARD::handleGetVisibleLayers(), API_HANDLER_PCB::handleInjectDrcError(), API_HANDLER_BOARD::handleInteractiveMoveItems(), API_HANDLER_BOARD::handleParseAndCreateItemsFromString(), API_HANDLER_PCB::handleRefillZones(), API_HANDLER_FOOTPRINT::handleRevertDocument(), 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_BOARD::handleSaveDocumentToString(), API_HANDLER_BOARD::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardDesignRules(), API_HANDLER_PCB::handleSetBoardEnabledLayers(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetCustomDesignRules(), handleSetPageSettings(), handleSetTitleBlockInfo(), API_HANDLER_BOARD::handleSetVisibleLayers(), API_HANDLER_FOOTPRINT::validateAndGetFootprint(), and validateItemHeaderDocument().

◆ validateDocumentInternal()

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

Implemented in API_HANDLER_FOOTPRINT, API_HANDLER_PCB, and API_HANDLER_SCH.

Referenced by validateDocument(), and validateItemHeaderDocument().

◆ 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_BOARD::m_context
private

Definition at line 160 of file api_handler_board.h.

Referenced by API_HANDLER_BOARD(), 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

◆ 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: