]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resourcemanager.h
Initial implementation of Vulkan backend
[libs/gl.git] / source / resources / resourcemanager.h
index bd87de8929ad92fc38b2703313168d2df1d75628..e2926be41a82a98ba184c7a6b5194a11a24db4bc 100644 (file)
@@ -4,6 +4,7 @@
 #include <deque>
 #include <cstdint>
 #include <msp/core/mutex.h>
+#include <msp/core/noncopyable.h>
 #include <msp/core/semaphore.h>
 #include <msp/core/thread.h>
 #include <msp/datafile/collection.h>
@@ -23,7 +24,7 @@ public:
 };
 
 
-class ResourceManager
+class ResourceManager: public NonCopyable
 {
 public:
        enum LoadingPolicy
@@ -80,7 +81,7 @@ private:
        class LoadingThread: public Thread
        {
        private:
-               Semaphore sem;
+               Msp::Semaphore sem;
                Mutex queue_mutex;
                std::deque<ManagedResource *> async_queue;
                std::deque<ManagedResource *> sync_queue;
@@ -135,6 +136,7 @@ public:
        void set_max_retain_frames(unsigned);
 
        void add_resource(Resource &);
+       void move_resource(Resource &, Resource &);
 private:
        const ManagedResource &get_managed_resource(const Resource &) const;
        ManagedResource &get_managed_resource(const Resource &);