cohtml::IAsyncResourceHandler
Class that will handle all asynchronous resource requests.
#include <ResourceHandler.h>
Public Functions
Name | |
---|---|
virtual | ~IAsyncResourceHandler() |
virtual void | OnResourceRequest(const cohtml::IAsyncResourceRequest * request, cohtml::IAsyncResourceResponse * response) =0 Called when Cohtml needs a resource. |
virtual void | OnResourceStreamRequest(const cohtml::IAsyncResourceRequest * request, cohtml::IAsyncResourceStreamResponse * response) =0 Called when Cohtml needs a resource stream. |
virtual void | OnAbortResourceRequest(unsigned id) =0 Called when a requested resource is not needed anymore. |
Protected Functions
Name | |
---|---|
IAsyncResourceHandler() |
Public Functions Documentation
function ~IAsyncResourceHandler
virtual ~IAsyncResourceHandler()
function OnResourceRequest
virtual void OnResourceRequest(
const cohtml::IAsyncResourceRequest * request,
cohtml::IAsyncResourceResponse * response
) =0
Called when Cohtml needs a resource.
Parameters:
- request object describing the resource requested
- response response object for result of loading the request
Note: Called on any thread by default or on the main thread when SystemSettings::AsynchronousResourceRequestCalls is set to false.
function OnResourceStreamRequest
virtual void OnResourceStreamRequest(
const cohtml::IAsyncResourceRequest * request,
cohtml::IAsyncResourceStreamResponse * response
) =0
Called when Cohtml needs a resource stream.
Parameters:
- request object describing the resource requested
- response response object for result of loading the request
Note: Called on any thread by default or on the main thread when SystemSettings::AsynchronousResourceRequestCalls is set to false. NB: The ISyncStreamReader interface methods can still be called on any thread regardless of the SystemSettings::AsynchronousResourceRequestCalls option.
function OnAbortResourceRequest
virtual void OnAbortResourceRequest(
unsigned id
) =0
Called when a requested resource is not needed anymore.
Parameters:
- id the id associated with the resource request
Note: This method will only be invoked when the requests are in synchronous mode which is achieved by setting SystemSettings::AsynchronousResourceRequestCalls option to false. Aborting resources in asynchronous mode is not possible due to timing issues between the callbacks of the resource handler. The client can still respond on any thread, but has to manage possible race conditions between the responses and the abort notifications. NB: The client is STILL REQUIRED to call Finish on the resource response object with the associated request.
Protected Functions Documentation
function IAsyncResourceHandler
IAsyncResourceHandler()