DEKI/ENGINE docs
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
DekiBuilderAbi Struct Reference

What the plugin was compiled against. More...

#include <C:/Users/kirby/Documents/Github/deki/deki-editor/deki-editor/include/deki-editor/build/BuilderPlugin.h>

Public Attributes

uint32_t version
 kDekiBuilderAbiVersion the plugin compiled with
uint32_t structSize
 sizeof(DekiBuilderAbi) as the plugin sees it
uint32_t platformConfigSize
 sizeof(DekiEditor::PlatformConfig)
uint32_t packageEntrySize
 sizeof(DekiEditor::CMakeGen::PackageEntry), returned by value
uint32_t stdStringSize
 sizeof(std::string)
uint32_t stdVectorSize
 sizeof(std::vector<int>)
uint32_t compilerTag
 compiler + STL identity; see DekiBuilderThisAbi

Detailed Description

What the plugin was compiled against.

A builder plugin shares C++ objects with the editor: PlatformConfig by reference, std::string and std::vector across the boundary, a vtable it inherits. That works only when both sides agree on their layout; when they do not, the result is a corrupted field or a crash somewhere unrelated, not an error. So the editor refuses a plugin that cannot show it matches, like the package loader's reflection ABI guard.

Read version through the pointer before copying the struct: a plugin built against another revision may return a struct of another size.

Member Data Documentation

◆ version

uint32_t DekiBuilderAbi::version

kDekiBuilderAbiVersion the plugin compiled with

◆ structSize

uint32_t DekiBuilderAbi::structSize

sizeof(DekiBuilderAbi) as the plugin sees it

◆ platformConfigSize

uint32_t DekiBuilderAbi::platformConfigSize

sizeof(DekiEditor::PlatformConfig)

◆ packageEntrySize

uint32_t DekiBuilderAbi::packageEntrySize

sizeof(DekiEditor::CMakeGen::PackageEntry), returned by value

◆ stdStringSize

uint32_t DekiBuilderAbi::stdStringSize

sizeof(std::string)

◆ stdVectorSize

uint32_t DekiBuilderAbi::stdVectorSize

sizeof(std::vector<int>)

◆ compilerTag

uint32_t DekiBuilderAbi::compilerTag

compiler + STL identity; see DekiBuilderThisAbi


The documentation for this struct was generated from the following file: