Kanzi Graphics Engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
kzu_binary_util.h File Reference

Binary reader utilities. More...

Enumerations

enum  KzuPropertyContainerReferenceType { KZU_PROPERTY_CONTAINER_REFERENCE_OBJECT_NODE, KZU_PROPERTY_CONTAINER_REFERENCE_PROJECT_ITEM }
 Type of property container reference. More...
 

Functions

kzsException kzuBinaryReadString (const struct KzcMemoryManager *memoryManager, struct KzcInputStream *inputStream, kzMutableString *out_string)
 Reads a kzb string from the given input stream. More...
 
kzsException kzuBinaryReadBoolean (struct KzcInputStream *inputStream, kzBool *out_value)
 Reads a boolean from kzb format including the padding. More...
 
kzsError kzuBinaryGetResourceURL (const struct KzcMemoryManager *memoryManager, const struct KzuBinaryDirectory *directory, kzString resourcePath, kzMutableString *out_resourceURL)
 Gets a resource URL from the given binary directory and a resource path in it. More...
 
kzsException kzuBinaryReadResourceReference (const struct KzcMemoryManager *memoryManager, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *fileInfo, kzMutableString *out_resourceURL)
 Reads a resource reference from the given input stream opened from the given file info. More...
 
kzsError kzuBinaryGetResourceURLFromFile (const struct KzcMemoryManager *memoryManager, const struct KzuBinaryFileInfo *fileInfo, kzMutableString *out_resourceURL)
 Gets a resource URL corresponding the given binary file info. More...
 
kzsError kzuBinaryReadProperty (struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file, const void *object, struct KzuPropertyManager *propertyManager, struct KzuResourceManager *resourceManager, struct KzuPropertyType **out_propertyType)
 Loads property from binary. More...
 
kzsError kzuBinaryReadPropertySafe (struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file, const void *object, struct KzuPropertyManager *propertyManager, struct KzuResourceManager *resourceManager, struct KzuPropertyType **out_propertyType)
 Loads property from binary in a thread-safe manner. More...
 
kzsError kzuBinaryReadVariant (struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file, struct KzuVariant *variant, const struct KzuPropertyManager *propertyManager, struct KzuResourceManager *resourceManager)
 Read a variant value. More...
 
kzsError kzuBinaryReadProperties (struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file, const void *object, struct KzuPropertyManager *propertyManager, struct KzuResourceManager *resourceManager)
 Loads a list of properties from binary. More...
 
kzsError kzuBinaryReadObjectNodeProperties (struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file, const void *object, struct KzuPropertyManager *propertyManager, struct KzuResourceManager *resourceManager)
 Loads a list of properties from binary. More...
 
kzsError kzuBinaryReadPropertiesSafe (struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file, const void *object, struct KzuPropertyManager *propertyManager, struct KzuResourceManager *resourceManager)
 Loads a list of properties from binary without acquiring the resources of pointer properties. More...
 
kzsException kzuBinaryReadImage (const struct KzcMemoryManager *memoryManager, struct KzuBinaryDirectory *directory, kzString path, struct KzcImage **out_image)
 Loads image from binary. More...
 
kzsException kzuBinaryReadTextFile (const struct KzcMemoryManager *memoryManager, const struct KzuBinaryFileInfo *file, kzMutableString *out_text)
 Reads the given file as a text file and returns the content. More...
 
kzsError kzuBinaryLoadMetaData (const struct KzuBinaryDirectory *directory, const struct KzuUIDomain *uiDomain)
 Loads binary directory metadata (property types, message types, localization tables). More...
 
kzsException kzuBinaryLoadMessageType (const struct KzuBinaryDirectory *directory, kzString path)
 Loads message type from binary. More...
 
kzsException kzuBinaryLoadMessageTypeFromFile (const struct KzuBinaryDirectory *directory, const struct KzuBinaryFileInfo *file)
 Loads message type from binary file. More...
 
kzsException kzuBinaryCreatePropertyType (const struct KzuBinaryDirectory *directory, kzString path)
 Loads property type from binary. More...
 
kzsException kzuBinaryCreatePropertyTypeFromFile (const struct KzuBinaryDirectory *directory, const struct KzuBinaryFileInfo *file)
 Loads property type from binary file. More...
 
kzsException kzuBinaryLoadLocalizationTable (const struct KzuBinaryDirectory *directory, const struct KzuBinaryFileInfo *file, const struct KzuUIDomain *uiDomain)
 Loads a localization table from binary. More...
 
kzsException kzuBinaryLoadLocale (const struct KzuBinaryDirectory *directory, const struct KzuBinaryFileInfo *file, const struct KzuUIDomain *uiDomain)
 Loads a locale from binary. More...
 

Detailed Description

Binary reader utilities.

Copyright 2008-2019 by Rightware. All rights reserved.

Enumeration Type Documentation

Type of property container reference.

Enumerator
KZU_PROPERTY_CONTAINER_REFERENCE_OBJECT_NODE 

Object node reference type.

KZU_PROPERTY_CONTAINER_REFERENCE_PROJECT_ITEM 

Project item reference type.

Function Documentation

kzsException kzuBinaryReadString ( const struct KzcMemoryManager memoryManager,
struct KzcInputStream inputStream,
kzMutableString out_string 
)

Reads a kzb string from the given input stream.

A new string object is allocated and must be freed by the caller.

kzsException kzuBinaryReadBoolean ( struct KzcInputStream inputStream,
kzBool out_value 
)

Reads a boolean from kzb format including the padding.

kzsError kzuBinaryGetResourceURL ( const struct KzcMemoryManager memoryManager,
const struct KzuBinaryDirectory directory,
kzString  resourcePath,
kzMutableString out_resourceURL 
)

Gets a resource URL from the given binary directory and a resource path in it.

The returned resource URL must be freed with kzcStringDelete().

kzsException kzuBinaryReadResourceReference ( const struct KzcMemoryManager memoryManager,
struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo fileInfo,
kzMutableString out_resourceURL 
)

Reads a resource reference from the given input stream opened from the given file info.

Returns the URL corresponding the reference. The returned resource URL must be freed with kzcStringDelete().

kzsError kzuBinaryGetResourceURLFromFile ( const struct KzcMemoryManager memoryManager,
const struct KzuBinaryFileInfo fileInfo,
kzMutableString out_resourceURL 
)

Gets a resource URL corresponding the given binary file info.

The returned resource URL must be freed with kzcStringDelete().

kzsError kzuBinaryReadProperty ( struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file,
const void object,
struct KzuPropertyManager *  propertyManager,
struct KzuResourceManager resourceManager,
struct KzuPropertyType **  out_propertyType 
)

Loads property from binary.

kzsError kzuBinaryReadPropertySafe ( struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file,
const void object,
struct KzuPropertyManager *  propertyManager,
struct KzuResourceManager resourceManager,
struct KzuPropertyType **  out_propertyType 
)

Loads property from binary in a thread-safe manner.

If the property references resources, this function will only store the URL instead of acquiring the resource.

kzsError kzuBinaryReadVariant ( struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file,
struct KzuVariant variant,
const struct KzuPropertyManager *  propertyManager,
struct KzuResourceManager resourceManager 
)

Read a variant value.

kzsError kzuBinaryReadProperties ( struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file,
const void object,
struct KzuPropertyManager *  propertyManager,
struct KzuResourceManager resourceManager 
)

Loads a list of properties from binary.

kzsError kzuBinaryReadObjectNodeProperties ( struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file,
const void object,
struct KzuPropertyManager *  propertyManager,
struct KzuResourceManager resourceManager 
)

Loads a list of properties from binary.

Unlike kzuBinaryReadProperties, this function does not remove existing properties but instead only flags them as removed. In addition changed properties are flagged as changed.

kzsError kzuBinaryReadPropertiesSafe ( struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file,
const void object,
struct KzuPropertyManager *  propertyManager,
struct KzuResourceManager resourceManager 
)

Loads a list of properties from binary without acquiring the resources of pointer properties.

A KZ_NULL or a list of property group URLs (kzMutableString) are stored in out_propertyGroupURLs.

kzsException kzuBinaryReadImage ( const struct KzcMemoryManager memoryManager,
struct KzuBinaryDirectory directory,
kzString  path,
struct KzcImage **  out_image 
)

Loads image from binary.

kzsException kzuBinaryReadTextFile ( const struct KzcMemoryManager memoryManager,
const struct KzuBinaryFileInfo file,
kzMutableString out_text 
)

Reads the given file as a text file and returns the content.

kzsError kzuBinaryLoadMetaData ( const struct KzuBinaryDirectory directory,
const struct KzuUIDomain uiDomain 
)

Loads binary directory metadata (property types, message types, localization tables).

kzsException kzuBinaryLoadMessageType ( const struct KzuBinaryDirectory directory,
kzString  path 
)

Loads message type from binary.

kzsException kzuBinaryLoadMessageTypeFromFile ( const struct KzuBinaryDirectory directory,
const struct KzuBinaryFileInfo file 
)

Loads message type from binary file.

kzsException kzuBinaryCreatePropertyType ( const struct KzuBinaryDirectory directory,
kzString  path 
)

Loads property type from binary.

kzsException kzuBinaryCreatePropertyTypeFromFile ( const struct KzuBinaryDirectory directory,
const struct KzuBinaryFileInfo file 
)

Loads property type from binary file.

kzsException kzuBinaryLoadLocalizationTable ( const struct KzuBinaryDirectory directory,
const struct KzuBinaryFileInfo file,
const struct KzuUIDomain uiDomain 
)

Loads a localization table from binary.

kzsException kzuBinaryLoadLocale ( const struct KzuBinaryDirectory directory,
const struct KzuBinaryFileInfo file,
const struct KzuUIDomain uiDomain 
)

Loads a locale from binary.