cohtml::IAsyncResourceResponse
Response that the application should use when the resource has been loaded You can keep a reference to this object as long as needed and call Finish afterwards.
#include <ResourceHandler.h>
Public Classes
Name | |
---|---|
struct | UserImageData Description of the properties of the user provided image. |
Public Types
Name | |
---|---|
enum | Status { Success, Failure} |
Public Functions
Name | |
---|---|
virtual | ~IAsyncResourceResponse() |
virtual void * | GetSpace(unsigned long long size) =0 Allocates more space where to put the data read. NB: You can call the function multiple times and it’ll allocate more space if needed. The space requested MUST be the SUM of all space required. Already copied data will be still available in the buffer - it works the same way as “realloc”. |
virtual void | ReceiveUserImage(const UserImageData & userImageData) =0 Passes data about a user image that is ready to be used by the UI system. This lets Cohtml use textures that are already on the GPU and the void* is interpreted by the backend. |
virtual void | ReceiveOptimizedData(const DataBuffer * optimizedData) =0 Passes optimized data that speeds up the resource processing. |
virtual void | SignalProgress() =0 Can be called when part of the response is ready and can be used by the backend. Calling this is optional. Note that the pointer returned by GetSpace will not be valid anymore. The user will have to request some more memory for the fresh data after this call. |
virtual void | SetStatus(unsigned short status) =0 Additional API used for complex responses like HTTP. Setting these fields is not required for local “coui” loads. |
virtual void | SetResponseURL(const char * responseURL) =0 The URL of the response (can change from the request due to redirects) |
virtual void | SetHeader(const char * name, const char * value) =0 Set a response header. |
virtual void | Finish(Status status) =0 Call when the resource has been loaded or the load failed. After this call the object is invalidated. NB: It’s not safe to call any methods on this interface after Finish. |
Protected Functions
Name | |
---|---|
IAsyncResourceResponse() |
Public Types Documentation
enum Status
Enumerator | Value | Description |
---|---|---|
Success | ||
Failure |
Public Functions Documentation
function ~IAsyncResourceResponse
virtual ~IAsyncResourceResponse()
function GetSpace
virtual void * GetSpace(
unsigned long long size
) =0
Allocates more space where to put the data read. NB: You can call the function multiple times and it’ll allocate more space if needed. The space requested MUST be the SUM of all space required. Already copied data will be still available in the buffer - it works the same way as “realloc”.
Note: The pointer returned will always point to the beginning of the data array. Users have to keep an offset counter themselves if they plan to call GetSpace() multiple times.
function ReceiveUserImage
virtual void ReceiveUserImage(
const UserImageData & userImageData
) =0
Passes data about a user image that is ready to be used by the UI system. This lets Cohtml use textures that are already on the GPU and the void* is interpreted by the backend.
Parameters:
- userImageData information about the user image
function ReceiveOptimizedData
virtual void ReceiveOptimizedData(
const DataBuffer * optimizedData
) =0
Passes optimized data that speeds up the resource processing.
Parameters:
- optimizedData is a data, produced by doing resource processing ahead of time and can be easily cached, serialized and deserialized.
Note: Currently, this can speed up the JavaScript compilation and run times, the optimizedData can be obtained using the cohtml::ScriptCompiler::Compile.
function SignalProgress
virtual void SignalProgress() =0
Can be called when part of the response is ready and can be used by the backend. Calling this is optional. Note that the pointer returned by GetSpace will not be valid anymore. The user will have to request some more memory for the fresh data after this call.
function SetStatus
virtual void SetStatus(
unsigned short status
) =0
Additional API used for complex responses like HTTP. Setting these fields is not required for local “coui” loads.
function SetResponseURL
virtual void SetResponseURL(
const char * responseURL
) =0
The URL of the response (can change from the request due to redirects)
function SetHeader
virtual void SetHeader(
const char * name,
const char * value
) =0
Set a response header.
function Finish
virtual void Finish(
Status status
) =0
Call when the resource has been loaded or the load failed. After this call the object is invalidated. NB: It’s not safe to call any methods on this interface after Finish.
Protected Functions Documentation
function IAsyncResourceResponse
IAsyncResourceResponse()