28 #ifndef __ResourceBackgroundQueue_H__ 29 #define __ResourceBackgroundQueue_H__ 114 RT_INITIALISE_GROUP = 0,
115 RT_INITIALISE_ALL_GROUPS = 1,
116 RT_PREPARE_GROUP = 2,
117 RT_PREPARE_RESOURCE = 3,
119 RT_LOAD_RESOURCE = 5,
121 RT_UNLOAD_RESOURCE = 7
138 { (void)r;
return o; }
148 : resource(r), request(req)
155 { (void)r;
return o; }
167 virtual void initialise(
void);
172 virtual void shutdown(
void);
182 virtual BackgroundProcessTicket initialiseResourceGroup(
193 virtual BackgroundProcessTicket initialiseAllResourceGroups(
203 virtual BackgroundProcessTicket prepareResourceGroup(
const String& name,
214 virtual BackgroundProcessTicket loadResourceGroup(
const String& name,
224 virtual BackgroundProcessTicket unload(
234 virtual BackgroundProcessTicket unload(
244 virtual BackgroundProcessTicket unloadResourceGroup(
const String& name,
263 virtual BackgroundProcessTicket prepare(
265 const String& group,
bool isManual =
false,
285 virtual BackgroundProcessTicket load(
287 const String& group,
bool isManual =
false,
304 virtual bool isProcessComplete(BackgroundProcessTicket ticket);
308 void abortRequest( BackgroundProcessTicket ticket );
unsigned long long int RequestID
Numeric identifier for a request.
This abstract listener interface lets you get notifications of completed background processes instead...
Encapsulates the result of a background queue request.
Interface to a general purpose request / response style background work queue.
ManualResourceLoader * loader
String message
Any messages from the process.
set< BackgroundProcessTicket >::type OutstandingRequestSet
Interface describing a manual resource loader.
unsigned long long int ResourceHandle
ResourceResponse(ResourcePtr r, const ResourceRequest &req)
OutstandingRequestSet mOutstandingRequestSet
BackgroundProcessResult()
General purpose request structure.
virtual ~Listener()
Need virtual destructor in case subclasses use it.
bool error
Whether an error occurred.
General purpose response structure.
BackgroundProcessResult result
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
Encapsulates a queued request for the background queue.
WorkQueue::RequestID BackgroundProcessTicket
Identifier of a background process.
This class is used to perform Resource operations in a background thread.
RequestType
Enumerates the type of requests.
ResourceHandle resourceHandle
_OgreExport friend std::ostream & operator<<(std::ostream &o, const ResourceResponse &r)
Struct that holds details of queued notifications.
Interface definition for a handler of responses.
NameValuePairList * loadParams
_OgreExport friend std::ostream & operator<<(std::ostream &o, const ResourceRequest &r)
Template class for creating single-instance global classes.
Interface definition for a handler of requests.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...