API: Expose title block info

This commit is contained in:
Jon Evans
2024-11-19 23:44:29 -05:00
parent 033fb4fc8f
commit af71ea869e
4 changed files with 64 additions and 0 deletions
+34
View File
@@ -69,6 +69,8 @@ API_HANDLER_PCB::API_HANDLER_PCB( PCB_EDIT_FRAME* aFrame ) :
&API_HANDLER_PCB::handleGetTextExtents );
registerHandler<GetPadShapeAsPolygon, PadShapeAsPolygonResponse>(
&API_HANDLER_PCB::handleGetPadShapeAsPolygon );
registerHandler<GetTitleBlockInfo, types::TitleBlockInfo>(
&API_HANDLER_PCB::handleGetTitleBlockInfo );
registerHandler<InteractiveMoveItems, Empty>( &API_HANDLER_PCB::handleInteractiveMoveItems );
registerHandler<GetNets, NetsResponse>( &API_HANDLER_PCB::handleGetNets );
@@ -683,6 +685,38 @@ HANDLER_RESULT<PadShapeAsPolygonResponse> API_HANDLER_PCB::handleGetPadShapeAsPo
}
HANDLER_RESULT<types::TitleBlockInfo> API_HANDLER_PCB::handleGetTitleBlockInfo(
GetTitleBlockInfo& aMsg,
const HANDLER_CONTEXT& aCtx )
{
HANDLER_RESULT<bool> documentValidation = validateDocument( aMsg.document() );
if( !documentValidation )
return tl::unexpected( documentValidation.error() );
BOARD* board = frame()->GetBoard();
const TITLE_BLOCK& block = board->GetTitleBlock();
types::TitleBlockInfo response;
response.set_title( block.GetTitle().ToUTF8() );
response.set_date( block.GetDate().ToUTF8() );
response.set_revision( block.GetRevision().ToUTF8() );
response.set_company( block.GetCompany().ToUTF8() );
response.set_comment1( block.GetComment( 0 ).ToUTF8() );
response.set_comment2( block.GetComment( 1 ).ToUTF8() );
response.set_comment3( block.GetComment( 2 ).ToUTF8() );
response.set_comment4( block.GetComment( 3 ).ToUTF8() );
response.set_comment5( block.GetComment( 4 ).ToUTF8() );
response.set_comment6( block.GetComment( 5 ).ToUTF8() );
response.set_comment7( block.GetComment( 6 ).ToUTF8() );
response.set_comment8( block.GetComment( 7 ).ToUTF8() );
response.set_comment9( block.GetComment( 8 ).ToUTF8() );
return response;
}
HANDLER_RESULT<Empty> API_HANDLER_PCB::handleInteractiveMoveItems( InteractiveMoveItems& aMsg,
const HANDLER_CONTEXT& aCtx )
{