#include <OgreResourceBackgroundQueue.h>

Public Member Functions | |
| ResourceBackgroundQueue () | |
| virtual | ~ResourceBackgroundQueue () |
| void | setStartBackgroundThread (bool startThread) |
| Sets whether or not a thread should be created and started to handle the background loading, or whether a user thread will call the appropriate hooks. | |
| bool | getStartBackgroundThread (void) |
| Gets whether or not a thread should be created and started to handle the background loading, or whether a user thread will call the appropriate hooks. | |
| 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. | |
| bool | _doNextQueuedBackgroundProcess () |
| Process a single queued background operation. | |
| void | _initThread () |
| Initialise processing for a background thread. | |
| virtual void | _queueFireBackgroundPreparingComplete (Resource *res) |
| Queue the firing of the 'background preparing complete' event to a Resource::Listener event. | |
| virtual void | _queueFireBackgroundLoadingComplete (Resource *res) |
| Queue the firing of the 'background loading complete' event to a Resource::Listener event. | |
| virtual void | _fireOnFrameCallbacks (void) |
| Fires all the queued events for background loaded resources. | |
| 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, RT_INITIALISE_ALL_GROUPS, RT_PREPARE_GROUP, RT_PREPARE_RESOURCE, RT_LOAD_GROUP, RT_LOAD_RESOURCE, RT_UNLOAD_GROUP, RT_UNLOAD_RESOURCE, RT_SHUTDOWN } |
| Init notification mutex (must lock before waiting on initCondition). More... | |
| typedef std::list< Request > | RequestQueue |
| typedef std::map < BackgroundProcessTicket, Request * > | RequestTicketMap |
| typedef std::list < QueuedNotification > | NotificationQueue |
Protected Member Functions | |
| virtual OGRE_AUTO_MUTEX void | queueFireBackgroundOperationComplete (Request *req) |
| Private mutex, not allowed to lock from outside. | |
Protected Attributes | |
| RequestQueue | mRequestQueue |
| Queue of requests, used to store and order requests. | |
| RequestTicketMap | mRequestTicketMap |
| Request lookup by ticket. | |
| unsigned long | mNextTicketID |
| Next ticket ID. | |
| NotificationQueue | mNotificationQueue |
| Queued notifications of background loading being finished. | |
| bool | mStartThread |
| Mutex to protect the background event queue]. | |
| void * | mThread |
| Dummy. | |
Static Protected Attributes | |
| static T * | ms_Singleton |
Classes | |
| class | Listener |
| This abstract listener interface lets you get notifications of completed background processes instead of having to poll ticket statuses. More... | |
| struct | QueuedNotification |
| Struct that holds details of queued notifications. More... | |
| struct | Request |
| Encapsulates a queued request for the background queue. More... | |
Definition at line 88 of file OgreResourceBackgroundQueue.h.
typedef std::list<Request> Ogre::ResourceBackgroundQueue::RequestQueue [protected] |
Definition at line 156 of file OgreResourceBackgroundQueue.h.
typedef std::map<BackgroundProcessTicket, Request*> Ogre::ResourceBackgroundQueue::RequestTicketMap [protected] |
Definition at line 157 of file OgreResourceBackgroundQueue.h.
typedef std::list<QueuedNotification> Ogre::ResourceBackgroundQueue::NotificationQueue [protected] |
Definition at line 185 of file OgreResourceBackgroundQueue.h.
enum Ogre::ResourceBackgroundQueue::RequestType [protected] |
Init notification mutex (must lock before waiting on initCondition).
Synchroniser token to wait / notify on thread init (public incase external thread) 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 | |
| RT_SHUTDOWN |
Definition at line 129 of file OgreResourceBackgroundQueue.h.
| Ogre::ResourceBackgroundQueue::ResourceBackgroundQueue | ( | ) |
| virtual Ogre::ResourceBackgroundQueue::~ResourceBackgroundQueue | ( | ) | [virtual] |
| virtual OGRE_AUTO_MUTEX void Ogre::ResourceBackgroundQueue::queueFireBackgroundOperationComplete | ( | Request * | req | ) | [protected, virtual] |
Private mutex, not allowed to lock from outside.
Queue the firing of the 'background loading complete' event to a Resource::Listener event.
| listener | The listener to be notified | |
| ticket | The ticket for the operation that has completed |
| void Ogre::ResourceBackgroundQueue::setStartBackgroundThread | ( | bool | startThread | ) |
Sets whether or not a thread should be created and started to handle the background loading, or whether a user thread will call the appropriate hooks.
Definition at line 249 of file OgreResourceBackgroundQueue.h.
| bool Ogre::ResourceBackgroundQueue::getStartBackgroundThread | ( | void | ) |
Gets whether or not a thread should be created and started to handle the background loading, or whether a user thread will call the appropriate hooks.
Definition at line 255 of file OgreResourceBackgroundQueue.h.
| virtual void Ogre::ResourceBackgroundQueue::initialise | ( | void | ) | [virtual] |
| virtual void Ogre::ResourceBackgroundQueue::shutdown | ( | void | ) | [virtual] |
| 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 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::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 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. |
| 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::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::unloadResourceGroup | ( | const String & | name, | |
| Listener * | listener = 0 | |||
| ) | [virtual] |
Unloads a resource group in the background.
| name | The name of the resource group to load |
| 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::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 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 |
| bool Ogre::ResourceBackgroundQueue::_doNextQueuedBackgroundProcess | ( | ) |
Process a single queued background operation.
| void Ogre::ResourceBackgroundQueue::_initThread | ( | ) |
Initialise processing for a background thread.
| virtual void Ogre::ResourceBackgroundQueue::_queueFireBackgroundPreparingComplete | ( | Resource * | res | ) | [virtual] |
Queue the firing of the 'background preparing complete' event to a Resource::Listener event.
| res | The resource listened on |
| virtual void Ogre::ResourceBackgroundQueue::_queueFireBackgroundLoadingComplete | ( | Resource * | res | ) | [virtual] |
Queue the firing of the 'background loading complete' event to a Resource::Listener event.
| res | The resource listened on |
| virtual void Ogre::ResourceBackgroundQueue::_fireOnFrameCallbacks | ( | void | ) | [virtual] |
Fires all the queued events for background loaded resources.
| static ResourceBackgroundQueue& Ogre::ResourceBackgroundQueue::getSingleton | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< T >.
| static ResourceBackgroundQueue* Ogre::ResourceBackgroundQueue::getSingletonPtr | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< T >.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
| const char * | file, | |||
| int | line, | |||
| const char * | func | |||
| ) | [inherited] |
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 67 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
| void * | ptr | |||
| ) | [inherited] |
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
| const char * | file, | |||
| int | line, | |||
| const char * | func | |||
| ) | [inherited] |
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 84 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 89 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
| void * | ||||
| ) | [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 101 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 106 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
| const char * | , | |||
| int | , | |||
| const char * | ||||
| ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
Queue of requests, used to store and order requests.
Definition at line 160 of file OgreResourceBackgroundQueue.h.
unsigned long Ogre::ResourceBackgroundQueue::mNextTicketID [protected] |
Queued notifications of background loading being finished.
Definition at line 187 of file OgreResourceBackgroundQueue.h.
bool Ogre::ResourceBackgroundQueue::mStartThread [protected] |
Mutex to protect the background event queue].
Whether this class should start it's own thread or not
Definition at line 192 of file OgreResourceBackgroundQueue.h.
void* Ogre::ResourceBackgroundQueue::mThread [protected] |
T* Ogre::Singleton< T >::ms_Singleton [static, protected, inherited] |
Copyright © 2008 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Jul 26 11:35:42 2009