172 : mCreator(0), mHandle(0), mLoadingState(LOADSTATE_UNLOADED),
173 mIsBackgroundLoaded(false), mSize(0), mIsManual(0), mLoader(0)
213 virtual void loadImpl(
void) = 0;
217 virtual void unloadImpl(
void) = 0;
219 virtual size_t calculateSize(
void)
const = 0;
260 virtual void prepare(
bool backgroundThread =
false);
272 virtual void load(
bool backgroundThread =
false);
279 virtual void reload(
void);
285 return !mIsManual || mLoader;
298 virtual void unload(
void);
309 virtual void touch(
void);
328 return (mLoadingState.get() == LOADSTATE_PREPARED);
336 return (mLoadingState.get() == LOADSTATE_LOADED);
344 return (mLoadingState.get() == LOADSTATE_LOADING);
351 return mLoadingState.get();
387 virtual void escalateLoading();
392 virtual void addListener(Listener* lis);
397 virtual void removeListener(Listener* lis);
409 virtual void changeGroupOwnership(
const String& newGroup);
437 virtual void _dirtyState();
448 virtual void _fireLoadingComplete(
bool wasBackgroundLoaded);
458 virtual void _firePreparingComplete(
bool wasBackgroundLoaded);
467 virtual void _fireUnloadingComplete(
void);
531 virtual void loadResource(
Resource* resource) = 0;
virtual void preparingComplete(Resource *)
called whenever the resource finishes preparing (paging into memory).
virtual bool isBackgroundLoaded(void) const
Returns whether this Resource has been earmarked for background loading.
virtual void backgroundLoadingComplete(Resource *)
Callback to indicate that background loading has completed.
virtual LoadingState getLoadingState() const
Returns the current loading state.
virtual bool isReloadable(void) const
Returns true if the Resource is reloadable, false otherwise.
virtual void preLoadImpl(void)
Internal hook to perform actions before the load process, but after the resource has been marked as '...
virtual ~ManualResourceLoader()
LoadingState
Enum identifying the loading state of the resource.
virtual void _notifyOrigin(const String &origin)
Notify this resource of it's origin.
AtomicScalar< LoadingState > mLoadingState
Is the resource currently loaded?
Interface describing a manual resource loader.
virtual void unloadingComplete(Resource *)
Called whenever the resource has been unloaded.
virtual bool isManuallyLoaded(void) const
Is this resource manually loaded?
virtual size_t getSize(void) const
Retrieves info about the size of the resource.
virtual const String & getName(void) const
Gets resource name.
ListenerList mListenerList
virtual void preUnloadImpl(void)
Internal hook to perform actions before the unload process.
virtual void prepareResource(Resource *resource)
Called when a resource wishes to load.
virtual void backgroundPreparingComplete(Resource *)
Callback to indicate that background preparing has completed.
Class defining the common interface which classes can use to present a reflection-style, self-defining parameter set to callers.
virtual bool isPrepared(void) const
Returns true if the Resource has been prepared, false otherwise.
String mGroup
The name of the resource group.
virtual void unprepareImpl(void)
Internal function for undoing the 'prepare' action.
size_t mSize
The size of the resource in bytes.
ManualResourceLoader * mLoader
Optional manual loader; if provided, data is loaded from here instead of a file.
virtual ResourceManager * getCreator(void)
Gets the manager which created this resource.
String mOrigin
Origin of this resource (e.g. script name) - optional.
SharedPtr< Resource > ResourcePtr
Shared pointer to a Resource.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
virtual const String & getGroup(void) const
Gets the group which this resource is a member of.
virtual bool isLoading() const
Returns whether the resource is currently in the process of background loading.
virtual bool isLoaded(void) const
Returns true if the Resource has been loaded, false otherwise.
virtual const String & getOrigin(void) const
Get the origin of this resource, e.g.
bool mIsManual
Is this file manually loaded?
String mName
Unique name of the resource.
virtual void loadingComplete(Resource *)
Called whenever the resource finishes loading.
Abstract class representing a loadable resource (e.g.
unsigned long long int ResourceHandle
virtual void prepareImpl(void)
Internal implementation of the meat of the 'prepare' action.
virtual void postLoadImpl(void)
Internal hook to perform actions after the load process, but before the resource has been marked as f...
virtual void setBackgroundLoaded(bool bl)
Tells the resource whether it is background loaded or not.
virtual size_t getStateCount() const
Returns the number of times this resource has changed state, which generally means the number of time...
ResourceManager * mCreator
Creator.
ResourceHandle mHandle
Numeric handle for more efficient look up than name.
Defines a generic resource handler.
volatile bool mIsBackgroundLoaded
Is this resource going to be background loaded? Only applicable for multithreaded.
size_t mStateCount
State count, the number of times this resource has changed state.
virtual ResourceHandle getHandle(void) const
virtual void postUnloadImpl(void)
Internal hook to perform actions after the unload process, but before the resource has been marked as...
set< Listener * >::type ListenerList