]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resourcemanager.cpp
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / resourcemanager.cpp
index 9835adde3e8dd7efffe038f6eeb7f39a7c26101c..30f75013252fe2397819cb5cb5a49330e54347de 100644 (file)
@@ -5,7 +5,7 @@
 #include <msp/time/utils.h>
 #include "resourcemanager.h"
 #include "resources.h"
-#include "resourcewatcher.h"
+#include "resourceobserver.h"
 
 using namespace std;
 
@@ -163,21 +163,21 @@ void ResourceManager::remove_resource(Resource &r)
        else if(state>ManagedResource::LOAD_QUEUED && state<ManagedResource::LOADED)
                thread.remove_resource(managed);
 
-       for(vector<ResourceWatcher *>::const_iterator i=managed.watchers.begin(); i!=managed.watchers.end(); ++i)
+       for(vector<ResourceObserver *>::const_iterator i=managed.observers.begin(); i!=managed.observers.end(); ++i)
                (*i)->resource_removed(r);
 
        MutexLock lock(map_mutex);
        remove_existing(resources, &r);
 }
 
-void ResourceManager::watch_resource(const Resource &r, ResourceWatcher &w)
+void ResourceManager::observe_resource(const Resource &r, ResourceObserver &w)
 {
-       get_managed_resource(r).add_watcher(w);
+       get_managed_resource(r).add_observer(w);
 }
 
-void ResourceManager::unwatch_resource(const Resource &r, ResourceWatcher &w)
+void ResourceManager::unobserve_resource(const Resource &r, ResourceObserver &w)
 {
-       get_managed_resource(r).remove_watcher(w);
+       get_managed_resource(r).remove_observer(w);
 }
 
 void ResourceManager::tick()
@@ -217,7 +217,7 @@ void ResourceManager::dispatch_work()
 {
        queue.sort(age_order);
 
-       if(queue.front()->last_used+10<frame)
+       if(queue.front()->last_used+min_retain_frames<frame)
        {
                for(LoadQueue::iterator i=queue.begin(); i!=queue.end(); ++i)
                        (*i)->state = ManagedResource::NOT_LOADED;
@@ -336,7 +336,7 @@ void ResourceManager::ManagedResource::finish_loading(bool successful)
                state = LOADED;
                data_size = resource->get_data_size();
 
-               for(vector<ResourceWatcher *>::const_iterator i=watchers.begin(); i!=watchers.end(); ++i)
+               for(vector<ResourceObserver *>::const_iterator i=observers.begin(); i!=observers.end(); ++i)
                        (*i)->resource_loaded(*resource);
        }
        else
@@ -356,25 +356,26 @@ void ResourceManager::ManagedResource::unload()
        resource->unload();
        state = NOT_LOADED;
 
-       for(vector<ResourceWatcher *>::const_iterator i=watchers.begin(); i!=watchers.end(); ++i)
+       for(vector<ResourceObserver *>::const_iterator i=observers.begin(); i!=observers.end(); ++i)
                (*i)->resource_unloaded(*resource);
 }
 
-void ResourceManager::ManagedResource::add_watcher(ResourceWatcher &w)
+void ResourceManager::ManagedResource::add_observer(ResourceObserver &w)
 {
-       if(find(watchers.begin(), watchers.end(), &w)==watchers.end())
-               watchers.push_back(&w);
+       if(find(observers.begin(), observers.end(), &w)==observers.end())
+               observers.push_back(&w);
 }
 
-void ResourceManager::ManagedResource::remove_watcher(ResourceWatcher &w)
+void ResourceManager::ManagedResource::remove_observer(ResourceObserver &w)
 {
-       vector<ResourceWatcher *>::iterator end = remove(watchers.begin(), watchers.end(), &w);
-       if(end!=watchers.end())
-               watchers.erase(end, watchers.end());
+       vector<ResourceObserver *>::iterator end = remove(observers.begin(), observers.end(), &w);
+       if(end!=observers.end())
+               observers.erase(end, observers.end());
 }
 
 
 ResourceManager::LoadingThread::LoadingThread():
+       Thread("ResourceManager"),
        sem(1),
        capacity(2),
        size(0),