]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resource.cpp
Rearrange soucre files into subdirectories
[libs/gl.git] / source / resources / resource.cpp
diff --git a/source/resources/resource.cpp b/source/resources/resource.cpp
new file mode 100644 (file)
index 0000000..4be6ee2
--- /dev/null
@@ -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