]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resourcemanager.h
Use C++11 features with containers
[libs/gl.git] / source / resources / resourcemanager.h
index cf34a8250f2b8cb8c92ba4d5d97842496fbe3797..2596999750724f32c239da69c4f261bc6ae324a3 100644 (file)
@@ -56,7 +56,7 @@ private:
 
                Resource *resource;
                ResourceLocation location;
-               bool load_priority;
+               int load_priority;
                IO::Seekable *io;
                Resource::AsyncLoader *loader;
                State state;
@@ -76,15 +76,13 @@ private:
                void remove_observer(ResourceObserver &);
        };
 
-       typedef std::list<ManagedResource *> LoadQueue;
-
        class LoadingThread: public Thread
        {
        private:
                Semaphore sem;
                Mutex queue_mutex;
-               LoadQueue async_queue;
-               LoadQueue sync_queue;
+               std::list<ManagedResource *> async_queue;
+               std::list<ManagedResource *> sync_queue;
                unsigned capacity;
                unsigned size;
                std::list<resource_load_error> error_queue;
@@ -98,7 +96,7 @@ private:
        private:
                virtual void main();
 
-               ManagedResource *front(LoadQueue &);
+               ManagedResource *front(std::list<ManagedResource *> &);
 
        public:
                void add_resource(ManagedResource &);
@@ -113,13 +111,11 @@ private:
                void terminate();
        };
 
-       typedef std::map<const Resource *, ManagedResource> ResourceMap;
-
        LoadingPolicy policy;
        bool async_loads;
        mutable Mutex map_mutex;
-       ResourceMap resources;
-       LoadQueue queue;
+       std::map<const Resource *, ManagedResource> resources;
+       std::list<ManagedResource *> queue;
        UInt64 total_data_size;
        UInt64 size_limit;
        unsigned frame;