#include <msp/time/utils.h>
#include "resourcemanager.h"
#include "resources.h"
-#include "resourcewatcher.h"
+#include "resourceobserver.h"
using namespace std;
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()
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
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),
}
}
-ResourceManager::ManagedResource *ResourceManager::LoadingThread::front(LoadQueue &queue)
+ResourceManager::ManagedResource *ResourceManager::LoadingThread::front(LoadQueue &que)
{
MutexLock lock(queue_mutex);
- if(queue.empty())
+ if(que.empty())
return 0;
- return queue.front();
+ return que.front();
}
void ResourceManager::LoadingThread::add_resource(ManagedResource &r)