]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resourcemanager.h
Use standard fixed-size integer types
[libs/gl.git] / source / resources / resourcemanager.h
index 2596999750724f32c239da69c4f261bc6ae324a3..2b9aef58f6414af9073988898e08e04483861e6a 100644 (file)
@@ -1,7 +1,8 @@
 #ifndef MSP_GL_RESOURCEMANAGER_H_
 #define MSP_GL_RESOURCEMANAGER_H_
 
-#include <msp/core/inttypes.h>
+#include <deque>
+#include <cstdint>
 #include <msp/core/mutex.h>
 #include <msp/core/semaphore.h>
 #include <msp/core/thread.h>
@@ -61,7 +62,7 @@ private:
                Resource::AsyncLoader *loader;
                State state;
                unsigned last_used;
-               UInt64 data_size;
+               std::uint64_t data_size;
                std::vector<ResourceObserver *> observers;
 
                ManagedResource(Resource &);
@@ -81,13 +82,13 @@ private:
        private:
                Semaphore sem;
                Mutex queue_mutex;
-               std::list<ManagedResource *> async_queue;
-               std::list<ManagedResource *> sync_queue;
+               std::deque<ManagedResource *> async_queue;
+               std::deque<ManagedResource *> sync_queue;
                unsigned capacity;
                unsigned size;
                std::list<resource_load_error> error_queue;
                Mutex data_size_mutex;
-               UInt64 loaded_data_size;
+               std::uint64_t loaded_data_size;
                volatile bool done;
 
        public:
@@ -96,7 +97,7 @@ private:
        private:
                virtual void main();
 
-               ManagedResource *front(std::list<ManagedResource *> &);
+               ManagedResource *front(std::deque<ManagedResource *> &);
 
        public:
                void add_resource(ManagedResource &);
@@ -106,7 +107,7 @@ private:
        public:
                bool sync();
                bool needs_work() const { return size<capacity; }
-               UInt64 get_and_reset_loaded_data_size();
+               std::uint64_t get_and_reset_loaded_data_size();
 
                void terminate();
        };
@@ -115,9 +116,9 @@ private:
        bool async_loads;
        mutable Mutex map_mutex;
        std::map<const Resource *, ManagedResource> resources;
-       std::list<ManagedResource *> queue;
-       UInt64 total_data_size;
-       UInt64 size_limit;
+       std::deque<ManagedResource *> queue;
+       std::uint64_t total_data_size;
+       std::uint64_t size_limit;
        unsigned frame;
        unsigned min_retain_frames;
        unsigned max_retain_frames;
@@ -130,7 +131,7 @@ public:
 
        void set_loading_policy(LoadingPolicy);
        void set_async_loads(bool);
-       void set_size_limit(UInt64);
+       void set_size_limit(std::uint64_t);
        void set_min_retain_frames(unsigned);
        void set_max_retain_frames(unsigned);
 
@@ -157,7 +158,7 @@ private:
        void unload_by_age();
        void unload_by_size();
 public:
-       UInt64 get_total_data_size() const { return total_data_size; }
+       std::uint64_t get_total_data_size() const { return total_data_size; }
 
 private:
        static bool age_order(ManagedResource *, ManagedResource *);