summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/object.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-08-30 16:02:50 +0200
committerGitHub <noreply@github.com>2018-08-30 16:02:50 +0200
commit5094dfa081c7275e35496374a42996b11f0f6005 (patch)
tree8cdfb8c270c6299a1b172fb9c14856684bedf084 /src/core/hle/kernel/object.h
parentMerge pull request #1202 from FearlessTobi/port-3825 (diff)
parentkernel: Eliminate kernel global state (diff)
downloadyuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar
yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.gz
yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.bz2
yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.lz
yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.xz
yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.zst
yuzu-5094dfa081c7275e35496374a42996b11f0f6005.zip
Diffstat (limited to 'src/core/hle/kernel/object.h')
-rw-r--r--src/core/hle/kernel/object.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/hle/kernel/object.h b/src/core/hle/kernel/object.h
index 526ac9cc3..b054cbf7d 100644
--- a/src/core/hle/kernel/object.h
+++ b/src/core/hle/kernel/object.h
@@ -14,6 +14,8 @@
namespace Kernel {
+class KernelCore;
+
using Handle = u32;
enum class HandleType : u32 {
@@ -40,6 +42,7 @@ enum class ResetType {
class Object : NonCopyable {
public:
+ explicit Object(KernelCore& kernel);
virtual ~Object();
/// Returns a unique identifier for the object. For debugging purposes only.
@@ -61,15 +64,16 @@ public:
*/
bool IsWaitable() const;
-public:
- static std::atomic<u32> next_object_id;
+protected:
+ /// The kernel instance this object was created under.
+ KernelCore& kernel;
private:
friend void intrusive_ptr_add_ref(Object*);
friend void intrusive_ptr_release(Object*);
std::atomic<u32> ref_count{0};
- std::atomic<u32> object_id{next_object_id++};
+ std::atomic<u32> object_id{0};
};
// Special functions used by boost::instrusive_ptr to do automatic ref-counting