KiCad PCB EDA Suite
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
SERIALIZABLE Class Reference

Interface for objects that can be serialized to Protobuf messages. More...

#include <serializable.h>

Inheritance diagram for SERIALIZABLE:
BOARD_STACKUP EDA_ITEM EDA_SHAPE EDA_TEXT NETCLASS PADSTACK BASE_SCREEN BOARD_ITEM DS_DRAW_ITEM_BASE DS_PROXY_UNDO_ITEM DS_PROXY_VIEW_ITEM EDIT_POINTS GBR_LAYOUT GERBER_DRAW_ITEM GERBER_FILE_IMAGE KIGFX::ANCHOR_DEBUG KIGFX::CONSTRUCTION_GEOM KIGFX::ORIGIN_VIEWITEM KIGFX::PREVIEW::ARC_ASSISTANT KIGFX::PREVIEW::BEZIER_ASSISTANT KIGFX::PREVIEW::RULER_ITEM KIGFX::PREVIEW::SIMPLE_OVERLAY_ITEM KIGFX::PREVIEW::TWO_POINT_ASSISTANT MY_DRAWING RATSNEST_VIEW_ITEM ROUTER_PREVIEW_ITEM ROUTER_STATUS_VIEW_ITEM SCHEMATIC SCH_ITEM TUNING_STATUS_VIEW_ITEM EDA_SHAPE_MOCK PCB_SHAPE SCH_SHAPE DS_DRAW_ITEM_TEXT PCB_TEXT PCB_TEXTBOX SCH_FIELD SCH_TEXT SCH_TEXTBOX

Public Member Functions

virtual ~SERIALIZABLE ()=default
 
virtual void Serialize (google::protobuf::Any &aContainer) const
 Serializes this object to the given Any message.
 
virtual bool Deserialize (const google::protobuf::Any &aContainer)
 Deserializes the given protobuf message into this object.
 

Detailed Description

Interface for objects that can be serialized to Protobuf messages.

Definition at line 36 of file serializable.h.

Constructor & Destructor Documentation

◆ ~SERIALIZABLE()

virtual SERIALIZABLE::~SERIALIZABLE ( )
virtualdefault

Member Function Documentation

◆ Deserialize()

bool SERIALIZABLE::Deserialize ( const google::protobuf::Any &  aContainer)
virtual

Deserializes the given protobuf message into this object.

Parameters
aContaineris an Any which should have a concrete type matching this object
Returns
true if unpacking and deserialization succeeded

Reimplemented in SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, EDA_SHAPE, EDA_TEXT, NETCLASS, BOARD_STACKUP, FOOTPRINT, PAD, PADSTACK, PCB_DIMENSION_BASE, PCB_DIM_ALIGNED, PCB_DIM_ORTHOGONAL, PCB_DIM_RADIAL, PCB_DIM_LEADER, PCB_DIM_CENTER, PCB_FIELD, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_ARC, PCB_VIA, and ZONE.

Definition at line 30 of file serializable.cpp.

◆ Serialize()

void SERIALIZABLE::Serialize ( google::protobuf::Any &  aContainer) const
virtual

Serializes this object to the given Any message.

The Any message's concrete type will be specific to the object in question.

Parameters
aContainerwill be filled with a message describing this object

Reimplemented in SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, EDA_SHAPE, EDA_TEXT, NETCLASS, BOARD_STACKUP, FOOTPRINT, PAD, PADSTACK, PCB_DIMENSION_BASE, PCB_DIM_ALIGNED, PCB_DIM_ORTHOGONAL, PCB_DIM_RADIAL, PCB_DIM_LEADER, PCB_DIM_CENTER, PCB_FIELD, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_ARC, PCB_VIA, and ZONE.

Definition at line 24 of file serializable.cpp.

Referenced by API_HANDLER_SCH::handleCreateUpdateItemsInternal(), and API_HANDLER_PCB::handleCreateUpdateItemsInternal().


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