This class is used to perform Resource operations in a background thread. More...
#include <OgreResourceBackgroundQueue.h>
Classes | |
class | Listener |
This abstract listener interface lets you get notifications of completed background processes instead of having to poll ticket statuses. More... | |
struct | ResourceRequest |
Encapsulates a queued request for the background queue. More... | |
struct | ResourceResponse |
Struct that holds details of queued notifications. More... | |
Public Member Functions | |
ResourceBackgroundQueue () | |
virtual | ~ResourceBackgroundQueue () |
void | abortRequest (BackgroundProcessTicket ticket) |
Aborts background process. More... | |
bool | canHandleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ) |
Implementation for WorkQueue::RequestHandler. More... | |
bool | canHandleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ) |
Implementation for WorkQueue::ResponseHandler. More... | |
WorkQueue::Response * | handleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ) |
Implementation for WorkQueue::RequestHandler. More... | |
void | handleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ) |
Implementation for WorkQueue::ResponseHandler. More... | |
virtual void | initialise (void) |
Initialise the background queue system. More... | |
virtual BackgroundProcessTicket | initialiseAllResourceGroups (Listener *listener=0) |
Initialise all resource groups which are yet to be initialised in the background. More... | |
virtual BackgroundProcessTicket | initialiseResourceGroup (const String &name, Listener *listener=0) |
Initialise a resource group in the background. More... | |
virtual bool | isProcessComplete (BackgroundProcessTicket ticket) |
Returns whether a previously queued process has completed or not. More... | |
virtual BackgroundProcessTicket | load (const String &resType, const String &name, const String &group, bool isManual=false, ManualResourceLoader *loader=0, const NameValuePairList *loadParams=0, Listener *listener=0) |
Load a single resource in the background. More... | |
virtual BackgroundProcessTicket | loadResourceGroup (const String &name, Listener *listener=0) |
Loads a resource group in the background. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
virtual BackgroundProcessTicket | prepare (const String &resType, const String &name, const String &group, bool isManual=false, ManualResourceLoader *loader=0, const NameValuePairList *loadParams=0, Listener *listener=0) |
Prepare a single resource in the background. More... | |
virtual BackgroundProcessTicket | prepareResourceGroup (const String &name, Listener *listener=0) |
Prepares a resource group in the background. More... | |
virtual void | shutdown (void) |
Shut down the background queue system. More... | |
virtual BackgroundProcessTicket | unload (const String &resType, const String &name, Listener *listener=0) |
Unload a single resource in the background. More... | |
virtual BackgroundProcessTicket | unload (const String &resType, ResourceHandle handle, Listener *listener=0) |
Unload a single resource in the background. More... | |
virtual BackgroundProcessTicket | unloadResourceGroup (const String &name, Listener *listener=0) |
Unloads a resource group in the background. More... | |
Static Public Member Functions | |
static ResourceBackgroundQueue & | getSingleton (void) |
Override standard Singleton retrieval. More... | |
static ResourceBackgroundQueue * | getSingletonPtr (void) |
Override standard Singleton retrieval. More... | |
Protected Types | |
typedef set < BackgroundProcessTicket > ::type | OutstandingRequestSet |
enum | RequestType { RT_INITIALISE_GROUP = 0, RT_INITIALISE_ALL_GROUPS = 1, RT_PREPARE_GROUP = 2, RT_PREPARE_RESOURCE = 3, RT_LOAD_GROUP = 4, RT_LOAD_RESOURCE = 5, RT_UNLOAD_GROUP = 6, RT_UNLOAD_RESOURCE = 7 } |
Enumerates the type of requests. More... | |
Protected Member Functions | |
BackgroundProcessTicket | addRequest (ResourceRequest &req) |
Protected Attributes | |
OutstandingRequestSet | mOutstandingRequestSet |
uint16 | mWorkQueueChannel |
Static Protected Attributes | |
static ResourceBackgroundQueue * | msSingleton |
This class is used to perform Resource operations in a background thread.
Definition at line 81 of file OgreResourceBackgroundQueue.h.
|
protected |
Definition at line 141 of file OgreResourceBackgroundQueue.h.
|
protected |
Enumerates the type of requests.
Enumerator | |
---|---|
RT_INITIALISE_GROUP | |
RT_INITIALISE_ALL_GROUPS | |
RT_PREPARE_GROUP | |
RT_PREPARE_RESOURCE | |
RT_LOAD_GROUP | |
RT_LOAD_RESOURCE | |
RT_UNLOAD_GROUP | |
RT_UNLOAD_RESOURCE |
Definition at line 112 of file OgreResourceBackgroundQueue.h.
Ogre::ResourceBackgroundQueue::ResourceBackgroundQueue | ( | ) |
|
virtual |
void Ogre::ResourceBackgroundQueue::abortRequest | ( | BackgroundProcessTicket | ticket | ) |
Aborts background process.
|
protected |
|
virtual |
Implementation for WorkQueue::RequestHandler.
Reimplemented from Ogre::WorkQueue::RequestHandler.
|
virtual |
Implementation for WorkQueue::ResponseHandler.
Reimplemented from Ogre::WorkQueue::ResponseHandler.
|
static |
Override standard Singleton retrieval.
|
static |
Override standard Singleton retrieval.
|
virtual |
Implementation for WorkQueue::RequestHandler.
Implements Ogre::WorkQueue::RequestHandler.
|
virtual |
Implementation for WorkQueue::ResponseHandler.
Implements Ogre::WorkQueue::ResponseHandler.
|
virtual |
Initialise the background queue system.
|
virtual |
Initialise all resource groups which are yet to be initialised in the background.
listener | Optional callback interface, take note of warnings in the header and only use if you understand them. |
|
virtual |
Initialise a resource group in the background.
name | The name of the resource group to initialise |
listener | Optional callback interface, take note of warnings in the header and only use if you understand them. |
|
virtual |
Returns whether a previously queued process has completed or not.
ticket | The ticket which was returned when the process was queued |
|
virtual |
Load a single resource in the background.
resType | The type of the resource (from ResourceManager::getResourceType()) |
name | The name of the Resource |
group | The resource group to which this resource will belong |
isManual | Is the resource to be manually loaded? If so, you should provide a value for the loader parameter |
loader | The manual loader which is to perform the required actions when this resource is loaded; only applicable when you specify true for the previous parameter. NOTE: must be thread safe!! |
loadParams | Optional pointer to a list of name/value pairs containing loading parameters for this type of resource. Remember that this must have a lifespan longer than the return of this call! |
|
virtual |
Loads a resource group in the background.
name | The name of the resource group to load |
listener | Optional callback interface, take note of warnings in the header and only use if you understand them. |
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
virtual |
Prepare a single resource in the background.
resType | The type of the resource (from ResourceManager::getResourceType()) |
name | The name of the Resource |
group | The resource group to which this resource will belong |
isManual | Is the resource to be manually loaded? If so, you should provide a value for the loader parameter |
loader | The manual loader which is to perform the required actions when this resource is loaded; only applicable when you specify true for the previous parameter. NOTE: must be thread safe!! |
loadParams | Optional pointer to a list of name/value pairs containing loading parameters for this type of resource. Remember that this must have a lifespan longer than the return of this call! |
|
virtual |
Prepares a resource group in the background.
name | The name of the resource group to prepare |
listener | Optional callback interface, take note of warnings in the header and only use if you understand them. |
|
virtual |
Shut down the background queue system.
|
virtual |
Unload a single resource in the background.
resType | The type of the resource (from ResourceManager::getResourceType()) |
name | The name of the Resource |
|
virtual |
Unload a single resource in the background.
resType | The type of the resource (from ResourceManager::getResourceType()) |
handle | Handle to the resource |
|
virtual |
Unloads a resource group in the background.
name | The name of the resource group to load |
|
protected |
Definition at line 142 of file OgreResourceBackgroundQueue.h.
|
staticprotectedinherited |
Definition at line 75 of file OgreSingleton.h.
|
protected |
Definition at line 110 of file OgreResourceBackgroundQueue.h.