hecl
High-Level Extensible Combiner Language and Resource Database
Classes | Public Member Functions | List of all members
HECL::Runtime::Runtime Class Reference

HLPK Runtime data-management root. More...

#include <HECLRuntime.hpp>

Collaboration diagram for HECL::Runtime::Runtime:
Collaboration graph

Classes

struct  SGroupLoadStatus
 Structure indicating the load status of an object group. More...
 

Public Member Functions

 Runtime (const SystemString &hlpkDirectory)
 Constructs the HECL runtime root. More...
 
std::shared_ptr< EntityloadSync (const Hash &pathHash)
 Begin a synchronous group-load transaction. More...
 
std::shared_ptr< EntityloadAsync (const Hash &pathHash, SGroupLoadStatus *statusOut=NULL)
 Begin an asynchronous group-load transaction. More...
 

Detailed Description

HLPK Runtime data-management root.

Interface for controlling runtime data-operations like object lookup and burst load-transactions using HLPK packages. The runtime's implementation automatically constructs RuntimeObjectBase and RuntimeGroup instances as needed.

Constructor & Destructor Documentation

HECL::Runtime::Runtime::Runtime ( const SystemString &  hlpkDirectory)

Constructs the HECL runtime root.

Parameters
hlpkDirectorydirectory to search for .hlpk files

Member Function Documentation

std::shared_ptr<Entity> HECL::Runtime::Runtime::loadAsync ( const Hash pathHash,
SGroupLoadStatus statusOut = NULL 
)

Begin an asynchronous group-load transaction.

Parameters
pathHashHashed path string to perform lookup
statusOutOptional atomically-pollable structure updated with status fields
Returns
Shared reference to the loading/loaded object

This method returns once all group entity stubs are constructed. Paths to groups or individual objects are accepted.

std::shared_ptr<Entity> HECL::Runtime::Runtime::loadSync ( const Hash pathHash)

Begin a synchronous group-load transaction.

Parameters
pathHashHashed path string to perform lookup
Returns
Shared reference to the loading/loaded object

This method blocks until the entire containing-group is loaded. Paths to groups or individual objects are accepted.


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