Parser for kzb files. More...
#include <kanzi/core.ui/kzb/kzb_memory_parser.hpp>
Public Types | |
enum | ArgumentType { ArgumentType::Value, ArgumentType::MessageArgument, ArgumentType::ObjectProperty, ArgumentType::ValueReference } |
Enum used in kzb file to mark the type of the arguments of ForwardingAction and ExpressionCondition instances. More... | |
typedef vector< BindingLoadInfo > | BindingContainer |
typedef vector< PropertyPair > | PropertyContainer |
typedef pair< AbstractPropertyType, Variant > | PropertyPair |
Public Member Functions | |
void | alignToOffset (ptrdiff_t alignBytes) |
Skip to next alignment of given bytes, relative to the beginning of the parsed data. More... | |
KzbMemoryParser (KzbFile *kzbFile, const byte *data, uint64_t dataSize) | |
Constructor. More... | |
KzbMemoryParser (KzbFile *kzbFile, ConstByteSpan data) | |
Constructor. More... | |
const Metaclass * | loadMetaclass () |
Load metaclass from current location in the file. More... | |
ObjectSharedPtr | loadObject () |
Load object from current location in the file. More... | |
void | loadProperties (Object &object) |
Load properties from current location in the file and store them in an object. More... | |
void | loadProperties (PropertyContainer &properties, bool resolveResources) |
Load properties from current location in the file and store them in a property container. More... | |
void | loadProperties (PropertyContainer &properties, BindingContainer &referenceBindings, bool resolveResources) |
Load properties from current location in the file and store them in a property container. More... | |
AbstractPropertyType | loadPropertyType () |
Load property type from current location in the file. More... | |
void | loadPropertyValue (Object &object) |
Load single property value from current location in the file and store it in an object. More... | |
Variant | loadVariant (bool resolveResources) |
Load variant from current location in the file. More... | |
Variant | loadVariantValue (PropertyDataType dataType, bool resolveResources) |
Load variant value from current location in the file. More... | |
ArgumentType | parseArgumentType () |
Parse a value of Argument Type from current position in the file. More... | |
bool | parseBool () |
Parse value from current position in the file. More... | |
ColorRGBA | parseColorRGBA () |
Parse value from current position in the file. More... | |
ConstByteSpan | parseData (size_t size) |
Parse value from current position in the file. More... | |
float | parseFloat () |
Parse value from current position in the file. More... | |
int32_t | parseInt32 () |
Parse value from current position in the file. More... | |
Matrix3x3 | parseMatrix3x3 () |
Parse value from current position in the file. More... | |
Matrix4x4 | parseMatrix4x4 () |
Parse value from current position in the file. More... | |
string_view | parseNullTerminatedString () |
Parse value from current position in the file. More... | |
AbstractRangeSharedPtr | parseRange () |
Parse a range value from current position in the file. More... | |
ConstByteSpan | parseSizedData () |
Parse value from current position in the file. More... | |
string_view | parseSizedString () |
Parse value from current position in the file. More... | |
KzbMemoryParser | parseSlice () |
Parse a slice from current position in the file. More... | |
SRTValue2D | parseSRT2D () |
Parse value from current position in the file. More... | |
SRTValue3D | parseSRT3D () |
Parse value from current position in the file. More... | |
string_view | parseStringReference () |
Load string index from the current location in the file, and look it up in the dictionary. More... | |
uint16_t | parseUint16 () |
Parse value from current position in the file. More... | |
uint32_t | parseUint32 () |
Parse value from current position in the file. More... | |
uint64_t | parseUint64 () |
Parse value from current position in the file. More... | |
uint8_t | parseUint8 () |
Parse value from current position in the file. More... | |
Vector2 | parseVector2 () |
Parse value from current position in the file. More... | |
Vector3 | parseVector3 () |
Parse value from current position in the file. More... | |
Vector4 | parseVector4 () |
Parse value from current position in the file. More... | |
void | skip (size_t sizeBytes) |
Skip bytes from current location in the file. More... | |
Parser for kzb files.
Used for parsing the binary data from a kzb file into raw values and Kanzi Engine constructs. As opposed to KzbFile, KzbMemoryParser only reads and parses values.
typedef pair<AbstractPropertyType, Variant> kanzi::KzbMemoryParser::PropertyPair |
typedef vector<PropertyPair> kanzi::KzbMemoryParser::PropertyContainer |
typedef vector<BindingLoadInfo> kanzi::KzbMemoryParser::BindingContainer |
|
strong |
Enum used in kzb file to mark the type of the arguments of ForwardingAction and ExpressionCondition instances.
Enumerator | |
---|---|
Value | |
MessageArgument | |
ObjectProperty | |
ValueReference |
|
inlineexplicit |
Constructor.
kzbFile | The kzb file construct holding file information. |
data | The data block. |
dataSize | The data size. |
|
inlineexplicit |
Constructor.
kzbFile | The kzb file construct holding file information. |
data | The span representing the data. |
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
|
inline |
Parse value from current position in the file.
AbstractRangeSharedPtr kanzi::KzbMemoryParser::parseRange | ( | ) |
Parse a range value from current position in the file.
|
inline |
Parse a value of Argument Type from current position in the file.
|
inline |
Parse a slice from current position in the file.
void kanzi::KzbMemoryParser::loadPropertyValue | ( | Object & | object | ) |
Load single property value from current location in the file and store it in an object.
object | Object to store the property value to. |
void kanzi::KzbMemoryParser::loadProperties | ( | Object & | object | ) |
Load properties from current location in the file and store them in an object.
object | Object to store property collection to. |
void kanzi::KzbMemoryParser::loadProperties | ( | PropertyContainer & | properties, |
bool | resolveResources | ||
) |
Load properties from current location in the file and store them in a property container.
properties | Property container to store properties to. |
resolveResources | True to resolve resource immediately. |
void kanzi::KzbMemoryParser::loadProperties | ( | PropertyContainer & | properties, |
BindingContainer & | referenceBindings, | ||
bool | resolveResources | ||
) |
Load properties from current location in the file and store them in a property container.
properties | Property container to store properties to. |
referenceBindings | Binding container to store reference bindings in. |
resolveResources | True to resolve resource immediately. |
Variant kanzi::KzbMemoryParser::loadVariantValue | ( | PropertyDataType | dataType, |
bool | resolveResources | ||
) |
Load variant value from current location in the file.
dataType | Data type of the variant. |
resolveResources | True to resolve resource immediately. |
Variant kanzi::KzbMemoryParser::loadVariant | ( | bool | resolveResources | ) |
Load variant from current location in the file.
resolveResources | True to resolve resource immediately. |
const Metaclass* kanzi::KzbMemoryParser::loadMetaclass | ( | ) |
Load metaclass from current location in the file.
AbstractPropertyType kanzi::KzbMemoryParser::loadPropertyType | ( | ) |
Load property type from current location in the file.
string_view kanzi::KzbMemoryParser::parseStringReference | ( | ) |
Load string index from the current location in the file, and look it up in the dictionary.
ObjectSharedPtr kanzi::KzbMemoryParser::loadObject | ( | ) |
Load object from current location in the file.
|
inline |
Skip bytes from current location in the file.
sizeBytes | Bytes to skip. |
|
inline |
Skip to next alignment of given bytes, relative to the beginning of the parsed data.
If alignment is already correct, the position is not moved.
alignBytes | Alignment to skip to. |