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; }
158 BackgroundProcessTicket addRequest(ResourceRequest& req);
167 virtual void initialise(
void);
172 virtual void shutdown(
void);
182 virtual BackgroundProcessTicket initialiseResourceGroup(
183 const String& name, Listener* listener = 0);
193 virtual BackgroundProcessTicket initialiseAllResourceGroups(
194 Listener* listener = 0);
203 virtual BackgroundProcessTicket prepareResourceGroup(
const String& name,
204 Listener* listener = 0);
214 virtual BackgroundProcessTicket loadResourceGroup(
const String& name,
215 Listener* listener = 0);
224 virtual BackgroundProcessTicket unload(
226 Listener* listener = 0);
234 virtual BackgroundProcessTicket unload(
236 Listener* listener = 0);
244 virtual BackgroundProcessTicket unloadResourceGroup(
const String& name,
245 Listener* listener = 0);
263 virtual BackgroundProcessTicket prepare(
265 const String& group,
bool isManual =
false,
268 Listener* listener = 0);
285 virtual BackgroundProcessTicket load(
287 const String& group,
bool isManual =
false,
290 Listener* listener = 0);
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.
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.
RequestType
Enumerates the type of requests.
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...