X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fresources%2Fresourcemanager.h;h=38437a727fd9a7d94cc24b048123bb62f0a0e35d;hb=5b311d10d50aa1fe0eb4ed4b8e41f0c58e9e7cbf;hp=ba4f39a9461668cbe4912a9f2d8afe5a8ee38e97;hpb=fdff67dff702ef3a87b388461c60d195789e0dc9;p=libs%2Fgl.git diff --git a/source/resources/resourcemanager.h b/source/resources/resourcemanager.h index ba4f39a9..38437a72 100644 --- a/source/resources/resourcemanager.h +++ b/source/resources/resourcemanager.h @@ -1,6 +1,7 @@ #ifndef MSP_GL_RESOURCEMANAGER_H_ #define MSP_GL_RESOURCEMANAGER_H_ +#include #include #include #include @@ -76,15 +77,13 @@ private: void remove_observer(ResourceObserver &); }; - typedef std::list LoadQueue; - class LoadingThread: public Thread { private: Semaphore sem; Mutex queue_mutex; - LoadQueue async_queue; - LoadQueue sync_queue; + std::deque async_queue; + std::deque sync_queue; unsigned capacity; unsigned size; std::list error_queue; @@ -98,7 +97,7 @@ private: private: virtual void main(); - ManagedResource *front(LoadQueue &); + ManagedResource *front(std::deque &); public: void add_resource(ManagedResource &); @@ -113,13 +112,11 @@ private: void terminate(); }; - typedef std::map ResourceMap; - LoadingPolicy policy; bool async_loads; mutable Mutex map_mutex; - ResourceMap resources; - LoadQueue queue; + std::map resources; + std::deque queue; UInt64 total_data_size; UInt64 size_limit; unsigned frame;