class ResourceWatcher;
+class resource_load_error: public std::runtime_error
+{
+public:
+ resource_load_error(const std::string &, const std::exception &);
+ virtual ~resource_load_error() throw() { }
+};
+
+
class ResourceManager
{
public:
LOAD_QUEUED,
LOADING,
LOAD_FINISHED,
- LOADED
+ LOADED,
+ LOAD_ERROR
};
Resource *resource;
LoadQueue sync_queue;
unsigned capacity;
unsigned size;
+ std::list<resource_load_error> error_queue;
volatile bool done;
public:
void *get_data_for_resource(const Resource &);
void set_resource_location(Resource &, DataFile::Collection &, const std::string &);
void load_resource(Resource &);
+ bool is_resource_loaded(const Resource &);
void resource_used(const Resource &);
void remove_resource(Resource &);