X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fresources%2Fresource.cpp;fp=source%2Fresources%2Fresource.cpp;h=4be6ee26bcef7d6bafa241a42fdf0bf00dde1fe4;hp=0000000000000000000000000000000000000000;hb=7aaec9a70b8d7733429bec043f8e33e02956f266;hpb=bec07999d95b76f4b47cffcc564d0cd0afc0435e diff --git a/source/resources/resource.cpp b/source/resources/resource.cpp new file mode 100644 index 00000000..4be6ee26 --- /dev/null +++ b/source/resources/resource.cpp @@ -0,0 +1,37 @@ +#include "resource.h" +#include "resourcemanager.h" + +namespace Msp { +namespace GL { + +Resource::Resource(): + manager(0) +{ } + +Resource::~Resource() +{ + if(manager) + manager->remove_resource(*this); +} + +void Resource::set_manager(ResourceManager *m) +{ + if(manager) + manager->remove_resource(*this); + manager = m; + if(manager) + { + manager->add_resource(*this); + manager_data = manager->get_data_for_resource(*this); + } + else + manager_data = 0; +} + +bool Resource::is_loaded() const +{ + return manager ? manager->is_resource_loaded(*this) : true; +} + +} // namespace GL +} // namespace Msp