| 
    KiCad PCB EDA Suite
    
   | 
 
#include <api_handler_pcb.h>
  
Public Member Functions | |
| API_HANDLER_PCB (PCB_EDIT_FRAME *aFrame) | |
| 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< COMMIT > | createCommit () 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.   | |
| bool | 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 | 
| 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) | 
| COMMIT * | getCurrentCommit (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) | 
| 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.   | |
Protected Attributes | |
| std::map< std::string, std::pair< KIID, std::unique_ptr< COMMIT > > > | m_commits | 
| std::set< std::string > | m_activeClients | 
| EDA_BASE_FRAME * | m_frame | 
| std::map< std::string, REQUEST_HANDLER > | m_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< types::Vector2 > | handleGetBoardOrigin (const HANDLER_CONTEXT< GetBoardOrigin > &aCtx) | 
| HANDLER_RESULT< Empty > | handleSetBoardOrigin (const HANDLER_CONTEXT< SetBoardOrigin > &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< types::TitleBlockInfo > | handleGetTitleBlockInfo (const HANDLER_CONTEXT< commands::GetTitleBlockInfo > &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< 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) | 
| PCB_EDIT_FRAME * | frame () 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) | 
Definition at line 50 of file api_handler_pcb.h.
      
  | 
  private | 
Definition at line 56 of file api_handler_pcb.h.
      
  | 
  protectedinherited | 
A handler for outer messages (envelopes) that will unpack to inner messages and call a specific handler function.
Definition at line 76 of file api_handler.h.
| API_HANDLER_PCB::API_HANDLER_PCB | ( | PCB_EDIT_FRAME * | aFrame | ) | 
Definition at line 60 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::API_HANDLER_EDITOR(), handleAddToSelection(), handleCheckPadstackPresenceOnLayers(), handleClearSelection(), handleExpandTextVariables(), handleGetActiveLayer(), handleGetBoardEditorAppearanceSettings(), handleGetBoardEnabledLayers(), handleGetBoardOrigin(), handleGetBoundingBox(), handleGetGraphicsDefaults(), handleGetItems(), handleGetItemsById(), handleGetNetClassForNets(), handleGetNets(), handleGetOpenDocuments(), handleGetPadShapeAsPolygon(), handleGetSelection(), handleGetStackup(), handleGetTitleBlockInfo(), handleGetVisibleLayers(), handleInjectDrcError(), handleInteractiveMoveItems(), handleParseAndCreateItemsFromString(), handleRefillZones(), handleRemoveFromSelection(), handleRevertDocument(), handleRunAction(), handleSaveCopyOfDocument(), handleSaveDocument(), handleSaveDocumentToString(), handleSaveSelectionToString(), handleSetActiveLayer(), handleSetBoardEditorAppearanceSettings(), handleSetBoardEnabledLayers(), handleSetBoardOrigin(), handleSetVisibleLayers(), and API_HANDLER::registerHandler().
      
  | 
  protectedvirtualinherited | 
Checks if the editor can accept commands.
Definition at line 205 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::handleGetItems(), API_HANDLER_PCB::handleGetItemsById(), 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::handleSaveCopyOfDocument(), API_HANDLER_PCB::handleSaveDocument(), API_HANDLER_PCB::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardEditorAppearanceSettings(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetVisibleLayers(), and handleUpdateItems().
      
  | 
  overrideprotectedvirtual | 
Override this to create an appropriate COMMIT subclass for the frame in question.
Implements API_HANDLER_EDITOR.
Definition at line 278 of file api_handler_pcb.cpp.
References frame().
      
  | 
  staticprivate | 
Definition at line 305 of file api_handler_pcb.cpp.
References CreateItemForType(), EDA_ITEM::GetFriendlyName(), PCB_FOOTPRINT_T, and PCB_PAD_T.
Referenced by handleCreateUpdateItemsInternal().
      
  | 
  overrideprotectedvirtual | 
Implements API_HANDLER_EDITOR.
Definition at line 711 of file api_handler_pcb.cpp.
References _, frame(), PCB_BASE_FRAME::GetBoard(), API_HANDLER_EDITOR::getCurrentCommit(), API_HANDLER_EDITOR::m_activeClients, pushCurrentCommit(), and COMMIT::Remove().
      
  | 
  private | 
Definition at line 124 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::m_frame.
Referenced by createCommit(), deleteItemsInternal(), getItemById(), handleAddToSelection(), handleClearSelection(), handleCreateUpdateItemsInternal(), handleExpandTextVariables(), handleGetActiveLayer(), handleGetBoardEditorAppearanceSettings(), handleGetBoardEnabledLayers(), handleGetBoardOrigin(), handleGetGraphicsDefaults(), handleGetItems(), handleGetNetClassForNets(), handleGetNets(), handleGetOpenDocuments(), handleGetSelection(), handleGetStackup(), handleGetTitleBlockInfo(), handleGetVisibleLayers(), handleInteractiveMoveItems(), handleRefillZones(), handleRemoveFromSelection(), handleRevertDocument(), handleRunAction(), handleSaveCopyOfDocument(), handleSaveDocument(), handleSaveDocumentToString(), handleSaveSelectionToString(), handleSetActiveLayer(), handleSetBoardEditorAppearanceSettings(), handleSetBoardEnabledLayers(), handleSetBoardOrigin(), handleSetVisibleLayers(), pushCurrentCommit(), and validateDocumentInternal().
      
  | 
  protectedinherited | 
Definition at line 129 of file api_handler_editor.cpp.
References createCommit(), and m_commits.
Referenced by API_HANDLER_PCB::deleteItemsInternal(), API_HANDLER_PCB::handleCreateUpdateItemsInternal(), API_HANDLER_SCH::handleCreateUpdateItemsInternal(), API_HANDLER_PCB::handleInjectDrcError(), and API_HANDLER_PCB::handleInteractiveMoveItems().
      
  | 
  private | 
Definition at line 284 of file api_handler_pcb.cpp.
References frame(), PCB_BASE_FRAME::GetBoard(), and BOARD::ResolveItem().
Referenced by getItemFromDocument(), handleAddToSelection(), handleCheckPadstackPresenceOnLayers(), handleCreateUpdateItemsInternal(), handleGetBoundingBox(), handleGetItemsById(), handleGetPadShapeAsPolygon(), handleInteractiveMoveItems(), and handleRemoveFromSelection().
      
  | 
  overrideprotectedvirtual | 
Implements API_HANDLER_EDITOR.
Definition at line 739 of file api_handler_pcb.cpp.
References getItemById(), and API_HANDLER_EDITOR::validateDocument().
      
  | 
  inherited | 
Attempt to handle the given API request, if a handler exists in this class for the message.
| aMsg | is a request to attempt to handle | 
Definition at line 30 of file api_handler.cpp.
References m_handlers.
      
  | 
  private | 
Definition at line 810 of file api_handler_pcb.cpp.
References SELECTION_TOOL::AddItemsToSel(), API_HANDLER_EDITOR::checkForBusy(), frame(), getItemById(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateItemHeaderDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  protectedinherited | 
Definition at line 43 of file api_handler_editor.cpp.
References checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::ClientName, createCommit(), m_activeClients, and m_commits.
Referenced by API_HANDLER_EDITOR().
      
  | 
  private | 
Definition at line 1228 of file api_handler_pcb.cpp.
References FromProtoEnum(), getItemById(), pad, PCB_PAD_T, PCB_VIA_T, HANDLER_CONTEXT< RequestMessageType >::Request, BASE_SET::set(), ToProtoEnum(), API_HANDLER_EDITOR::validateDocument(), and via.
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 788 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), TOOLS_HOLDER::GetToolManager(), HANDLER_CONTEXT< RequestMessageType >::Request, TOOL_MANAGER::RunAction(), ACTIONS::selectionClear, and API_HANDLER_EDITOR::validateItemHeaderDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  protectedinherited | 
Definition at line 219 of file api_handler_editor.cpp.
References checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::ClientName, handleCreateUpdateItemsInternal(), HANDLER_CONTEXT< RequestMessageType >::Request, and result.
Referenced by API_HANDLER_EDITOR().
      
  | 
  overrideprivatevirtual | 
Implements API_HANDLER_EDITOR.
Definition at line 348 of file api_handler_pcb.cpp.
References _, COMMIT::Add(), KIID::AsStdString(), BOARD_ITEM::CopyFrom(), createItemForType(), frame(), PCB_BASE_FRAME::GetBoard(), API_HANDLER_EDITOR::getCurrentCommit(), getItemById(), API_HANDLER_EDITOR::m_activeClients, COMMIT::Modify(), PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_DIMENSION_T, PCB_FOOTPRINT_T, PCB_GROUP_T, pushCurrentCommit(), COMMIT::Remove(), SERIALIZABLE::Serialize(), EDA_ITEM::Type(), kiapi::common::TypeNameFromAny(), and API_HANDLER_EDITOR::validateItemHeaderDocument().
      
  | 
  protectedinherited | 
Definition at line 273 of file api_handler_editor.cpp.
References checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::ClientName, deleteItemsInternal(), HANDLER_CONTEXT< RequestMessageType >::Request, result, and validateItemHeaderDocument().
Referenced by API_HANDLER_EDITOR().
      
  | 
  protectedinherited | 
Definition at line 72 of file api_handler_editor.cpp.
References checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::ClientName, m_activeClients, m_commits, pushCurrentCommit(), and HANDLER_CONTEXT< RequestMessageType >::Request.
Referenced by API_HANDLER_EDITOR().
      
  | 
  private | 
Definition at line 1326 of file api_handler_pcb.cpp.
References ExpandTextVars(), frame(), PCB_BASE_FRAME::GetBoard(), HANDLER_CONTEXT< RequestMessageType >::Request, text, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1593 of file api_handler_pcb.cpp.
References frame(), HANDLER_CONTEXT< RequestMessageType >::Request, ToProtoEnum(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1636 of file api_handler_pcb.cpp.
References frame(), PCB_BASE_FRAME::GetDisplayOptions(), PCB_BASE_FRAME::GetPcbNewSettings(), PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, PCBNEW_SETTINGS::m_Display, PCB_DISPLAY_OPTIONS::m_NetColorMode, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_RatsnestMode, and ToProtoEnum().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 915 of file api_handler_pcb.cpp.
References LSET::AllCuMask(), frame(), PCB_BASE_FRAME::GetBoard(), kiapi::board::PackLayerSet(), HANDLER_CONTEXT< RequestMessageType >::Request, Rescue, BASE_SET::reset(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1057 of file api_handler_pcb.cpp.
References frame(), BOARD_DESIGN_SETTINGS::GetAuxOrigin(), PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetGridOrigin(), kiapi::common::PackVector2(), HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1152 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), EDA_ITEM::GetBoundingBox(), getItemById(), kiapi::common::PackBox2(), PCB_FOOTPRINT_T, HANDLER_CONTEXT< RequestMessageType >::Request, EDA_ITEM::Type(), and API_HANDLER_EDITOR::validateItemHeaderDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1017 of file api_handler_pcb.cpp.
References frame(), PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), LAYER_CLASS_COUNT, BOARD_DESIGN_SETTINGS::m_LineThickness, BOARD_DESIGN_SETTINGS::m_TextItalic, BOARD_DESIGN_SETTINGS::m_TextSize, BOARD_DESIGN_SETTINGS::m_TextThickness, BOARD_DESIGN_SETTINGS::m_TextUpright, HANDLER_CONTEXT< RequestMessageType >::Request, text, API_HANDLER_EDITOR::validateDocument(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 528 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), FromProtoEnum(), PCB_BASE_FRAME::GetBoard(), PCB_ARC_T, PCB_BARCODE_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, HANDLER_CONTEXT< RequestMessageType >::Request, TYPE_NOT_INIT, and API_HANDLER_EDITOR::validateItemHeaderDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 669 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), getItemById(), HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateItemHeaderDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1427 of file api_handler_pcb.cpp.
References frame(), PCB_BASE_FRAME::GetBoard(), NETINFO_ITEM::GetNetClass(), NETINFO_LIST::GetNetItem(), HANDLER_CONTEXT< RequestMessageType >::Request, and NETCLASS::Serialize().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1396 of file api_handler_pcb.cpp.
References frame(), PCB_BASE_FRAME::GetBoard(), NETCLASS::GetName(), HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 147 of file api_handler_pcb.cpp.
References frame(), Prj(), and HANDLER_CONTEXT< RequestMessageType >::Request.
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1193 of file api_handler_pcb.cpp.
References SHAPE_POLY_SET::COutline(), ERROR_INSIDE, FromProtoEnum(), getItemById(), kiapi::common::PackPolyLine(), pad, PCB_PAD_T, HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 749 of file api_handler_pcb.cpp.
References filter, frame(), FromProtoEnum(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), HANDLER_CONTEXT< RequestMessageType >::Request, TYPE_NOT_INIT, and API_HANDLER_EDITOR::validateItemHeaderDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 884 of file api_handler_pcb.cpp.
References frame(), FromProtoEnum(), GetBoard(), PCB_BASE_FRAME::GetBoard(), BOARD::GetStackupOrDefault(), HANDLER_CONTEXT< RequestMessageType >::Request, BOARD_STACKUP::Serialize(), UNDEFINED_LAYER, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1295 of file api_handler_pcb.cpp.
References frame(), PCB_BASE_FRAME::GetBoard(), TITLE_BLOCK::GetComment(), TITLE_BLOCK::GetCompany(), TITLE_BLOCK::GetDate(), TITLE_BLOCK::GetRevision(), TITLE_BLOCK::GetTitle(), HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1545 of file api_handler_pcb.cpp.
References frame(), GetBoard(), HANDLER_CONTEXT< RequestMessageType >::Request, ToProtoEnum(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  protectedinherited | 
Definition at line 322 of file api_handler_editor.cpp.
References checkForBusy(), getItemFromDocument(), HANDLER_CONTEXT< RequestMessageType >::Request, kiapi::common::UnpackVector2(), and validateItemHeaderDocument().
Referenced by API_HANDLER_EDITOR().
      
  | 
  private | 
Definition at line 1698 of file api_handler_pcb.cpp.
References COMMIT::Add(), KIID::AsStdString(), API_HANDLER_EDITOR::checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::ClientName, DRC_ITEM::Create(), DRCE_GENERIC_ERROR, DRCE_GENERIC_WARNING, FromProtoEnum(), API_HANDLER_EDITOR::getCurrentCommit(), PCB_MARKER::GetUUID(), LAYER_DRC_ERROR, LAYER_DRC_WARNING, COMMIT::Push(), HANDLER_CONTEXT< RequestMessageType >::Request, RPT_SEVERITY_WARNING, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1354 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::ClientName, frame(), API_HANDLER_EDITOR::getCurrentCommit(), getItemById(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), PCB_ACTIONS::move, TOOL_MANAGER::PostAPIAction(), HANDLER_CONTEXT< RequestMessageType >::Request, TOOL_MANAGER::RunAction(), ACTIONS::selectionClear, ACTIONS::selectItems, SELECTION::SetReferencePoint(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1529 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1452 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), TOOLS_HOLDER::GetToolManager(), HANDLER_CONTEXT< RequestMessageType >::Request, TOOL_MANAGER::RunAction(), API_HANDLER_EDITOR::validateDocument(), and PCB_ACTIONS::zoneFillAll.
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 847 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), getItemById(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), SELECTION_TOOL::RemoveItemsFromSel(), HANDLER_CONTEXT< RequestMessageType >::Request, and API_HANDLER_EDITOR::validateItemHeaderDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 250 of file api_handler_pcb.cpp.
References PROJECT::AbsolutePath(), API_HANDLER_EDITOR::checkForBusy(), frame(), GetBoard(), PCB_BASE_FRAME::GetScreen(), KICTL_REVERT, PCB_EDIT_FRAME::OpenProjectFiles(), KIWAY_HOLDER::Prj(), EDA_DRAW_FRAME::ReleaseFile(), HANDLER_CONTEXT< RequestMessageType >::Request, BASE_SCREEN::SetContentModified(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 130 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), and HANDLER_CONTEXT< RequestMessageType >::Request.
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 190 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), PCB_BASE_FRAME::GetBoard(), FILEEXT::KiCadPcbFileExtension, Prj(), HANDLER_CONTEXT< RequestMessageType >::Request, PCB_EDIT_FRAME::SaveBoard(), PCB_EDIT_FRAME::SavePcbCopy(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 174 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), HANDLER_CONTEXT< RequestMessageType >::Request, PCB_EDIT_FRAME::SaveBoard(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1482 of file api_handler_pcb.cpp.
References frame(), GetBoard(), HANDLER_CONTEXT< RequestMessageType >::Request, CLIPBOARD_IO::SaveBoard(), CLIPBOARD_IO::SetWriter(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1506 of file api_handler_pcb.cpp.
References frame(), GetBoard(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), CLIPBOARD_IO::SaveSelection(), CLIPBOARD_IO::SetBoard(), and CLIPBOARD_IO::SetWriter().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1609 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), FromProtoEnum(), GetBoard(), HANDLER_CONTEXT< RequestMessageType >::Request, PCB_EDIT_FRAME::SetActiveLayer(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1663 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), frame(), FromProtoEnum(), PCB_BASE_FRAME::GetCanvas(), PCB_BASE_FRAME::GetDisplayOptions(), PCB_BASE_FRAME::GetPcbNewSettings(), PCB_DRAW_PANEL_GAL::GetView(), KIGFX::VIEW::IsMirroredX(), KIGFX::VIEW::IsMirroredY(), PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, PCBNEW_SETTINGS::m_Display, PCB_DISPLAY_OPTIONS::m_NetColorMode, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_RatsnestMode, KIGFX::VIEW::RecacheAllItems(), EDA_DRAW_PANEL_GAL::Refresh(), HANDLER_CONTEXT< RequestMessageType >::Request, PCB_BASE_FRAME::SetDisplayOptions(), KIGFX::VIEW::SetMirror(), and KIGFX::VIEW::UpdateAllLayersColor().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 944 of file api_handler_pcb.cpp.
References LSET::AllCuMask(), B_CrtYd, Edge_Cuts, F_CrtYd, frame(), PCB_BASE_FRAME::GetBoard(), API_HANDLER_EDITOR::m_frame, Margin, MAX_CU_LAYERS, PCB_EDIT_FRAME::OnModify(), kiapi::board::PackLayerSet(), HANDLER_CONTEXT< RequestMessageType >::Request, ACTIONS::selectionClear, kiapi::board::UnpackLayerSet(), PCB_EDIT_FRAME::UpdateUserInterface(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1094 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), PCB_ACTIONS::drillSetOrigin, frame(), TOOLS_HOLDER::GetToolManager(), ACTIONS::gridSetOrigin, HANDLER_CONTEXT< RequestMessageType >::Request, TOOL_MANAGER::RunAction(), kiapi::common::UnpackVector2(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  private | 
Definition at line 1562 of file api_handler_pcb.cpp.
References API_HANDLER_EDITOR::checkForBusy(), LSET::Contains(), frame(), FromProtoEnum(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), GetBoard(), PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetCanvas(), BOARD::GetEnabledLayers(), APPEARANCE_CONTROLS::OnBoardChanged(), HANDLER_CONTEXT< RequestMessageType >::Request, BASE_SET::set(), BOARD::SetVisibleLayers(), PCB_DRAW_PANEL_GAL::SyncLayersVisibility(), and API_HANDLER_EDITOR::validateDocument().
Referenced by API_HANDLER_PCB().
      
  | 
  protectedinherited | 
Definition at line 246 of file api_handler_editor.cpp.
References checkForBusy(), HANDLER_CONTEXT< RequestMessageType >::ClientName, handleCreateUpdateItemsInternal(), HANDLER_CONTEXT< RequestMessageType >::Request, and result.
Referenced by API_HANDLER_EDITOR().
      
  | 
  overrideprivatevirtual | 
Reimplemented from API_HANDLER_EDITOR.
Definition at line 271 of file api_handler_pcb.cpp.
References frame(), and API_HANDLER_EDITOR::pushCurrentCommit().
Referenced by deleteItemsInternal(), and handleCreateUpdateItemsInternal().
      
  | 
  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.
| RequestType | is a protobuf message type containing a command | 
| ResponseType | is a protobuf message type containing a command response | 
| HandlerType | is the implied type of the API_HANDLER subclass | 
| aHandler | is 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().
      
  | 
  inlineoverrideprotectedvirtual | 
Override this to specify which document type this editor handles.
Implements API_HANDLER_EDITOR.
Definition at line 160 of file api_handler_pcb.h.
      
  | 
  inlineprivateinherited | 
Definition at line 136 of file api_handler.h.
Referenced by registerHandler().
      
  | 
  protectedinherited | 
Definition at line 155 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::handleGetBoardEnabledLayers(), API_HANDLER_PCB::handleGetBoardOrigin(), API_HANDLER_PCB::handleGetGraphicsDefaults(), API_HANDLER_PCB::handleGetNets(), API_HANDLER_PCB::handleGetPadShapeAsPolygon(), API_HANDLER_PCB::handleGetStackup(), API_HANDLER_PCB::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::handleSaveCopyOfDocument(), API_HANDLER_PCB::handleSaveDocument(), API_HANDLER_PCB::handleSaveDocumentToString(), API_HANDLER_PCB::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardEnabledLayers(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetVisibleLayers(), and validateItemHeaderDocument().
      
  | 
  overrideprotectedvirtual | 
Implements API_HANDLER_EDITOR.
Definition at line 295 of file api_handler_pcb.cpp.
References frame().
      
  | 
  protectedinherited | 
If the header is valid, returns the item container.
Definition at line 170 of file api_handler_editor.cpp.
References thisDocumentType(), validateDocument(), and validateDocumentInternal().
Referenced by API_HANDLER_PCB::handleAddToSelection(), API_HANDLER_PCB::handleClearSelection(), API_HANDLER_PCB::handleCreateUpdateItemsInternal(), API_HANDLER_SCH::handleCreateUpdateItemsInternal(), handleDeleteItems(), API_HANDLER_PCB::handleGetBoundingBox(), API_HANDLER_PCB::handleGetItems(), API_HANDLER_PCB::handleGetItemsById(), API_HANDLER_PCB::handleGetSelection(), handleHitTest(), and API_HANDLER_PCB::handleRemoveFromSelection().
      
  | 
  protectedinherited | 
Definition at line 110 of file api_handler_editor.h.
Referenced by API_HANDLER_PCB::deleteItemsInternal(), handleBeginCommit(), API_HANDLER_PCB::handleCreateUpdateItemsInternal(), API_HANDLER_SCH::handleCreateUpdateItemsInternal(), handleEndCommit(), and pushCurrentCommit().
      
  | 
  protectedinherited | 
Definition at line 108 of file api_handler_editor.h.
Referenced by getCurrentCommit(), handleBeginCommit(), handleEndCommit(), and pushCurrentCommit().
      
  | 
  staticprotectedinherited | 
Definition at line 131 of file api_handler.h.
Referenced by API_HANDLER_EDITOR::pushCurrentCommit().
      
  | 
  protectedinherited | 
Definition at line 112 of file api_handler_editor.h.
Referenced by API_HANDLER_EDITOR(), checkForBusy(), API_HANDLER_PCB::frame(), and API_HANDLER_PCB::handleSetBoardEnabledLayers().
      
  | 
  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().