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

UI domain merge. More...

Macros

#define KZU_UI_DOMAIN_MERGER_ERROR_CONFLICTING_RESOURCE_URLS
 UI domain merger error code: conflicting resource URL's during merging. More...
 
#define KZU_UI_DOMAIN_MERGER_ERROR_RESOURCES_NOT_SUPPORTED
 UI domain merger error code: resource of non-supported by domain merger type was encountered during merging. More...
 
#define KZU_UI_DOMAIN_MERGER_ERROR_OBJECT_NODES_NOT_SUPPORTED
 UI domain merger error code: object node of non-supported by domain merger type was encountered during merging. More...
 

Typedefs

typedef kzsError(* KzuUIDomainMergerResourceDependencyResolverFunction )(const struct KzuUIDomainMerger *uiDomainMerger, const struct KzuResource *resource)
 Dependency resolver of resource by type. More...
 
typedef kzsError(* KzuUIDomainMergerObjectNodeDependencyResolverFunction )(const struct KzuUIDomainMerger *uiDomainMerger, struct KzuObjectNode *objectNode)
 Dependency resolver of object node by type. More...
 

Functions

kzsError kzuUIDomainMergerCreate (const struct KzcMemoryManager *memoryManager, struct KzuUIDomain *sourceUIDomain, struct KzuUIDomain *destinationUIDomain, struct KzuUIDomainMerger **out_uiDomainMerger)
 Creates UI domain merger for merging 2 ui domains. More...
 
kzsError kzuUIDomainMergerCreateWithSourceUIDomain (const struct KzcMemoryManager *memoryManager, struct KzuUIDomain *destinationUIDomain, struct KzuUIDomainMerger **out_uiDomainMerger)
 Creates project merge object with temporal domain where resources can be loaded and after that merged to destination UI domain. More...
 
kzsError kzuUIDomainMergerDelete (struct KzuUIDomainMerger *uiDomainMerger)
 Deletes project merge object. More...
 
struct KzuUIDomainkzuUIDomainMergerGetSourceUIDomain (const struct KzuUIDomainMerger *uiDomainMerger)
 Returns source UI domain. More...
 
struct KzuUIDomainkzuUIDomainMergerGetDestinationUIDomain (const struct KzuUIDomainMerger *uiDomainMerger)
 Returns destination UI domain. More...
 
kzsError kzuUIDomainMergerDoMerge (struct KzuUIDomainMerger *uiDomainMerger, kzUint *out_mergeErrors)
 Transfers resources and their properties from one UI domain to another. More...
 
kzBool kzuUIDomainMergerGetConflictingResourceUrls (const struct KzuUIDomainMerger *uiDomainMerger, struct KzcHashSetIterator *out_iterator)
 Get conflicting resource URLs after UI domain merge fails. More...
 
kzBool kzuUIDomainMergerGetNotSupportedResourceUrls (const struct KzuUIDomainMerger *uiDomainMerger, struct KzcHashSetIterator *out_iterator)
 Get URLs of non-supported resources after UI domain merge fails. More...
 
kzBool kzuUIDomainMergerGetNotSupportedObjectNodePaths (const struct KzuUIDomainMerger *uiDomainMerger, struct KzcHashSetIterator *out_iterator)
 Get paths of non-supported object nodes after UI domain merge fails. More...
 
kzsError kzuUiDomainMergerRegisterResourceDependencyResolver (const struct KzuUIDomainMerger *uiDomainMerger, KzuResourceType resourceType, KzuUIDomainMergerResourceDependencyResolverFunction resourceDependencyResolver)
 Registers resource dependency resolver for resource type. More...
 
kzBool kzuUIDomainMergerGetResourceDependencyResolver (const struct KzuUIDomainMerger *uiDomainMerger, KzuResourceType resourceType, KzuUIDomainMergerResourceDependencyResolverFunction *out_resolverFunction)
 Retrieves resource dependency resolver for resource type if registered. More...
 
kzsError kzuUiDomainMergerRegisterObjectNodeDependencyResolver (const struct KzuUIDomainMerger *uiDomainMerger, KzuObjectType objectType, KzuUIDomainMergerObjectNodeDependencyResolverFunction resourceDependencyResolver)
 Registers object node dependency resolver for resource type. More...
 
kzBool kzuUIDomainMergerGetObjectNodeDependencyResolver (const struct KzuUIDomainMerger *uiDomainMerger, KzuObjectType objectType, KzuUIDomainMergerObjectNodeDependencyResolverFunction *out_resolverFunction)
 Retrieves object node dependency resolver for resource type if registered. More...
 
kzsError kzuUIDomainMergerTriggerResolveDependencies_internal (const struct KzuUIDomainMerger *uiDomainMerger, struct KzuTrigger *trigger)
 Resolves dependencies of trigger. More...
 
void kzuUIDomainMergerLogErrors (const struct KzuUIDomainMerger *uiDomainMerger)
 Logs details about ui domain merger errors. More...
 

Detailed Description

UI domain merge.

This component provides mechanism for transfer resources from one UI domain to another.

Copyright 2008-2019 by Rightware. All rights reserved.

Macro Definition Documentation

#define KZU_UI_DOMAIN_MERGER_ERROR_CONFLICTING_RESOURCE_URLS

UI domain merger error code: conflicting resource URL's during merging.

#define KZU_UI_DOMAIN_MERGER_ERROR_RESOURCES_NOT_SUPPORTED

UI domain merger error code: resource of non-supported by domain merger type was encountered during merging.

#define KZU_UI_DOMAIN_MERGER_ERROR_OBJECT_NODES_NOT_SUPPORTED

UI domain merger error code: object node of non-supported by domain merger type was encountered during merging.

Typedef Documentation

typedef kzsError(* KzuUIDomainMergerResourceDependencyResolverFunction)(const struct KzuUIDomainMerger *uiDomainMerger, const struct KzuResource *resource)

Dependency resolver of resource by type.

typedef kzsError(* KzuUIDomainMergerObjectNodeDependencyResolverFunction)(const struct KzuUIDomainMerger *uiDomainMerger, struct KzuObjectNode *objectNode)

Dependency resolver of object node by type.

Function Documentation

kzsError kzuUIDomainMergerCreate ( const struct KzcMemoryManager memoryManager,
struct KzuUIDomain sourceUIDomain,
struct KzuUIDomain destinationUIDomain,
struct KzuUIDomainMerger **  out_uiDomainMerger 
)

Creates UI domain merger for merging 2 ui domains.

kzsError kzuUIDomainMergerCreateWithSourceUIDomain ( const struct KzcMemoryManager memoryManager,
struct KzuUIDomain destinationUIDomain,
struct KzuUIDomainMerger **  out_uiDomainMerger 
)

Creates project merge object with temporal domain where resources can be loaded and after that merged to destination UI domain.

kzsError kzuUIDomainMergerDelete ( struct KzuUIDomainMerger *  uiDomainMerger)

Deletes project merge object.

struct KzuUIDomain* kzuUIDomainMergerGetSourceUIDomain ( const struct KzuUIDomainMerger *  uiDomainMerger)

Returns source UI domain.

struct KzuUIDomain* kzuUIDomainMergerGetDestinationUIDomain ( const struct KzuUIDomainMerger *  uiDomainMerger)

Returns destination UI domain.

kzsError kzuUIDomainMergerDoMerge ( struct KzuUIDomainMerger *  uiDomainMerger,
kzUint out_mergeErrors 
)

Transfers resources and their properties from one UI domain to another.

If there are resources with conflicting URL's not supported resources or object node, a combination of KZU_UI_DOMAIN_MERGER_ERROR constants will be written to out_mergingResult, 0 otherwise. If merging fails, states of source and target UI domains will remain unchanged, so it is safe to call this function again.

kzBool kzuUIDomainMergerGetConflictingResourceUrls ( const struct KzuUIDomainMerger *  uiDomainMerger,
struct KzcHashSetIterator out_iterator 
)

Get conflicting resource URLs after UI domain merge fails.

kzBool kzuUIDomainMergerGetNotSupportedResourceUrls ( const struct KzuUIDomainMerger *  uiDomainMerger,
struct KzcHashSetIterator out_iterator 
)

Get URLs of non-supported resources after UI domain merge fails.

kzBool kzuUIDomainMergerGetNotSupportedObjectNodePaths ( const struct KzuUIDomainMerger *  uiDomainMerger,
struct KzcHashSetIterator out_iterator 
)

Get paths of non-supported object nodes after UI domain merge fails.

kzsError kzuUiDomainMergerRegisterResourceDependencyResolver ( const struct KzuUIDomainMerger *  uiDomainMerger,
KzuResourceType  resourceType,
KzuUIDomainMergerResourceDependencyResolverFunction  resourceDependencyResolver 
)

Registers resource dependency resolver for resource type.

kzBool kzuUIDomainMergerGetResourceDependencyResolver ( const struct KzuUIDomainMerger *  uiDomainMerger,
KzuResourceType  resourceType,
KzuUIDomainMergerResourceDependencyResolverFunction out_resolverFunction 
)

Retrieves resource dependency resolver for resource type if registered.

kzsError kzuUiDomainMergerRegisterObjectNodeDependencyResolver ( const struct KzuUIDomainMerger *  uiDomainMerger,
KzuObjectType  objectType,
KzuUIDomainMergerObjectNodeDependencyResolverFunction  resourceDependencyResolver 
)

Registers object node dependency resolver for resource type.

kzBool kzuUIDomainMergerGetObjectNodeDependencyResolver ( const struct KzuUIDomainMerger *  uiDomainMerger,
KzuObjectType  objectType,
KzuUIDomainMergerObjectNodeDependencyResolverFunction out_resolverFunction 
)

Retrieves object node dependency resolver for resource type if registered.

kzsError kzuUIDomainMergerTriggerResolveDependencies_internal ( const struct KzuUIDomainMerger *  uiDomainMerger,
struct KzuTrigger trigger 
)

Resolves dependencies of trigger.

void kzuUIDomainMergerLogErrors ( const struct KzuUIDomainMerger *  uiDomainMerger)

Logs details about ui domain merger errors.