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 () |
virtual void | initialise (void) |
Initialise the background queue system. | |
virtual void | shutdown (void) |
Shut down the background queue system. | |
virtual BackgroundProcessTicket | initialiseResourceGroup (const String &name, Listener *listener=0) |
Initialise a resource group in the background. | |
virtual BackgroundProcessTicket | initialiseAllResourceGroups (Listener *listener=0) |
Initialise all resource groups which are yet to be initialised in the background. | |
virtual BackgroundProcessTicket | prepareResourceGroup (const String &name, Listener *listener=0) |
Prepares a resource group in the background. | |
virtual BackgroundProcessTicket | loadResourceGroup (const String &name, Listener *listener=0) |
Loads a resource group in the background. | |
virtual BackgroundProcessTicket | unload (const String &resType, const String &name, Listener *listener=0) |
Unload a single resource in the background. | |
virtual BackgroundProcessTicket | unload (const String &resType, ResourceHandle handle, Listener *listener=0) |
Unload a single resource in the background. | |
virtual BackgroundProcessTicket | unloadResourceGroup (const String &name, Listener *listener=0) |
Unloads a resource group in the background. | |
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. | |
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. | |
virtual bool | isProcessComplete (BackgroundProcessTicket ticket) |
Returns whether a previously queued process has completed or not. | |
void | abortRequest (BackgroundProcessTicket ticket) |
Aborts background process. | |
bool | canHandleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ) |
Implementation for WorkQueue::RequestHandler. | |
WorkQueue::Response * | handleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ) |
Implementation for WorkQueue::RequestHandler. | |
bool | canHandleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ) |
Implementation for WorkQueue::ResponseHandler. | |
void | handleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ) |
Implementation for WorkQueue::ResponseHandler. | |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
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 *) |
Static Public Member Functions | |
static ResourceBackgroundQueue & | getSingleton (void) |
Override standard Singleton retrieval. | |
static ResourceBackgroundQueue * | getSingletonPtr (void) |
Override standard Singleton retrieval. | |
Protected Types | |
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... | |
typedef set < BackgroundProcessTicket > ::type | OutstandingRequestSet |
Protected Member Functions | |
BackgroundProcessTicket | addRequest (ResourceRequest &req) |
Protected Attributes | |
uint16 | mWorkQueueChannel |
OutstandingRequestSet | mOutstandingRequestSet |
Static Protected Attributes | |
static ResourceBackgroundQueue * | msSingleton |
This class is used to perform Resource operations in a background thread.
Definition at line 80 of file OgreResourceBackgroundQueue.h.
typedef set<BackgroundProcessTicket>::type Ogre::ResourceBackgroundQueue::OutstandingRequestSet [protected] |
Definition at line 140 of file OgreResourceBackgroundQueue.h.
enum Ogre::ResourceBackgroundQueue::RequestType [protected] |
Enumerates the type of requests.
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 111 of file OgreResourceBackgroundQueue.h.
Ogre::ResourceBackgroundQueue::ResourceBackgroundQueue | ( | ) |
virtual Ogre::ResourceBackgroundQueue::~ResourceBackgroundQueue | ( | ) | [virtual] |
void Ogre::ResourceBackgroundQueue::abortRequest | ( | BackgroundProcessTicket | ticket | ) |
Aborts background process.
BackgroundProcessTicket Ogre::ResourceBackgroundQueue::addRequest | ( | ResourceRequest & | req | ) | [protected] |
bool Ogre::ResourceBackgroundQueue::canHandleRequest | ( | const WorkQueue::Request * | req, | |
const WorkQueue * | srcQ | |||
) | [virtual] |
Implementation for WorkQueue::RequestHandler.
Reimplemented from Ogre::WorkQueue::RequestHandler.
bool Ogre::ResourceBackgroundQueue::canHandleResponse | ( | const WorkQueue::Response * | res, | |
const WorkQueue * | srcQ | |||
) | [virtual] |
Implementation for WorkQueue::ResponseHandler.
Reimplemented from Ogre::WorkQueue::ResponseHandler.
static ResourceBackgroundQueue& Ogre::ResourceBackgroundQueue::getSingleton | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< ResourceBackgroundQueue >.
static ResourceBackgroundQueue* Ogre::ResourceBackgroundQueue::getSingletonPtr | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< ResourceBackgroundQueue >.
WorkQueue::Response* Ogre::ResourceBackgroundQueue::handleRequest | ( | const WorkQueue::Request * | req, | |
const WorkQueue * | srcQ | |||
) | [virtual] |
Implementation for WorkQueue::RequestHandler.
Implements Ogre::WorkQueue::RequestHandler.
void Ogre::ResourceBackgroundQueue::handleResponse | ( | const WorkQueue::Response * | res, | |
const WorkQueue * | srcQ | |||
) | [virtual] |
Implementation for WorkQueue::ResponseHandler.
Implements Ogre::WorkQueue::ResponseHandler.
virtual void Ogre::ResourceBackgroundQueue::initialise | ( | void | ) | [virtual] |
Initialise the background queue system.
virtual BackgroundProcessTicket Ogre::ResourceBackgroundQueue::initialiseAllResourceGroups | ( | Listener * | listener = 0 |
) | [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 BackgroundProcessTicket Ogre::ResourceBackgroundQueue::initialiseResourceGroup | ( | const String & | name, | |
Listener * | listener = 0 | |||
) | [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 bool Ogre::ResourceBackgroundQueue::isProcessComplete | ( | BackgroundProcessTicket | ticket | ) | [virtual] |
Returns whether a previously queued process has completed or not.
ticket | The ticket which was returned when the process was queued |
virtual BackgroundProcessTicket Ogre::ResourceBackgroundQueue::load | ( | const String & | resType, | |
const String & | name, | |||
const String & | group, | |||
bool | isManual = false , |
|||
ManualResourceLoader * | loader = 0 , |
|||
const NameValuePairList * | loadParams = 0 , |
|||
Listener * | listener = 0 | |||
) | [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 BackgroundProcessTicket Ogre::ResourceBackgroundQueue::loadResourceGroup | ( | const String & | name, | |
Listener * | listener = 0 | |||
) | [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. |
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
virtual BackgroundProcessTicket Ogre::ResourceBackgroundQueue::prepare | ( | const String & | resType, | |
const String & | name, | |||
const String & | group, | |||
bool | isManual = false , |
|||
ManualResourceLoader * | loader = 0 , |
|||
const NameValuePairList * | loadParams = 0 , |
|||
Listener * | listener = 0 | |||
) | [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 BackgroundProcessTicket Ogre::ResourceBackgroundQueue::prepareResourceGroup | ( | const String & | name, | |
Listener * | listener = 0 | |||
) | [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 void Ogre::ResourceBackgroundQueue::shutdown | ( | void | ) | [virtual] |
Shut down the background queue system.
virtual BackgroundProcessTicket Ogre::ResourceBackgroundQueue::unload | ( | const String & | resType, | |
ResourceHandle | handle, | |||
Listener * | listener = 0 | |||
) | [virtual] |
Unload a single resource in the background.
resType | The type of the resource (from ResourceManager::getResourceType()) | |
handle | Handle to the resource |
virtual BackgroundProcessTicket Ogre::ResourceBackgroundQueue::unload | ( | const String & | resType, | |
const String & | name, | |||
Listener * | listener = 0 | |||
) | [virtual] |
Unload a single resource in the background.
resType | The type of the resource (from ResourceManager::getResourceType()) | |
name | The name of the Resource |
virtual BackgroundProcessTicket Ogre::ResourceBackgroundQueue::unloadResourceGroup | ( | const String & | name, | |
Listener * | listener = 0 | |||
) | [virtual] |
Unloads a resource group in the background.
name | The name of the resource group to load |
Definition at line 141 of file OgreResourceBackgroundQueue.h.
ResourceBackgroundQueue * Ogre::Singleton< ResourceBackgroundQueue >::msSingleton [static, protected, inherited] |
Definition at line 75 of file OgreSingleton.h.
Definition at line 109 of file OgreResourceBackgroundQueue.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:39:27 2012