Resources::ResourceScheduler Class Reference
#include <resourcescheduler.h>
Inheritance diagram for Resources::ResourceScheduler:
Detailed Description
A ResourceScheduler manages all incoming resource requests for a certain StreamingResourceMapper.(C) 2010 Radon Labs GmbH
Public Member Functions | |
virtual void | SetMapper (const Ptr< StreamingResourceMapper > &mapper) |
sets the StreamingResourceMapper to manage | |
virtual const Ptr< LoadingResource > & | AppendLoadingResource (const Core::Rtti &loadingType, const Ptr< ManagedResource > &managedResource, const Ptr< Resource > &resourceToLoad) |
appends resource to loading-queue | |
virtual void | CleanUpLoadingQueue () |
cleans the loading queue | |
virtual void | DoResourceLOD (const Ptr< ManagedResource > &managedResource) |
analyzes and reacts on changes of the distance of given ManagedResource | |
virtual bool | OnRequestManagedResource (const Ptr< ManagedResource > &managedResource, const ResourceRequestInfo *requestInfo) |
tries to load a resource and returns true if request was successful | |
virtual void | OnRemoveFromMapper () |
call this as the scheduler is removed from its mapper | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Static Public Member Functions | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) |
Member Function Documentation
void Resources::ResourceScheduler::CleanUpLoadingQueue | ( | ) | [virtual] |
cleans the loading queue
As a very basic this method cleans up loadingQueue and removes loaded Resources. If loading failed or canceled StreamingResourceMapper::ResourceLoadException is called appropriate Resource. Overload this method in subclasses to perform additional clean-ups of the loadingQueue like kicking out requests which are out of date.
void Resources::ResourceScheduler::DoResourceLOD | ( | const Ptr< ManagedResource > & | managedResource | ) | [virtual] |
analyzes and reacts on changes of the distance of given ManagedResource
In subclasses this Method may auto-manage e.g. changement of mip Maps.
Reimplemented in Resources::TexturePoolMapperScheduler.
bool Resources::ResourceScheduler::OnRequestManagedResource | ( | const Ptr< ManagedResource > & | managedResource, | |
const ResourceRequestInfo * | requestInfo | |||
) | [virtual] |
tries to load a resource and returns true if request was successful
Overwrite this method in subclasses!
Reimplemented in Resources::TexturePoolMapperScheduler.
int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.