From 7fc22f1987562b68f71a156f134dab5e1e63f3f6 Mon Sep 17 00:00:00 2001 From: "Dr. Chat" Date: Thu, 12 Nov 2015 19:01:55 -0600 Subject: [PATCH] Add a static kType field to all objects --- src/xenia/kernel/notify_listener.h | 2 ++ src/xenia/kernel/xenumerator.h | 2 ++ src/xenia/kernel/xevent.h | 2 ++ src/xenia/kernel/xfile.h | 2 ++ src/xenia/kernel/xmodule.h | 2 ++ src/xenia/kernel/xmutant.h | 2 ++ src/xenia/kernel/xsemaphore.h | 2 ++ src/xenia/kernel/xthread.h | 2 ++ src/xenia/kernel/xtimer.h | 2 ++ 9 files changed, 18 insertions(+) diff --git a/src/xenia/kernel/notify_listener.h b/src/xenia/kernel/notify_listener.h index 70562ea59..f341e659b 100644 --- a/src/xenia/kernel/notify_listener.h +++ b/src/xenia/kernel/notify_listener.h @@ -23,6 +23,8 @@ namespace kernel { class NotifyListener : public XObject { public: + static const Type kType = kTypeNotifyListener; + explicit NotifyListener(KernelState* kernel_state); ~NotifyListener() override; diff --git a/src/xenia/kernel/xenumerator.h b/src/xenia/kernel/xenumerator.h index 437ce7339..dafded9fe 100644 --- a/src/xenia/kernel/xenumerator.h +++ b/src/xenia/kernel/xenumerator.h @@ -21,6 +21,8 @@ namespace kernel { class XEnumerator : public XObject { public: + static const Type kType = kTypeEnumerator; + XEnumerator(KernelState* kernel_state, size_t item_capacity, size_t item_size); virtual ~XEnumerator(); diff --git a/src/xenia/kernel/xevent.h b/src/xenia/kernel/xevent.h index 4567617d4..011234b39 100644 --- a/src/xenia/kernel/xevent.h +++ b/src/xenia/kernel/xevent.h @@ -24,6 +24,8 @@ struct X_KEVENT { class XEvent : public XObject { public: + static const Type kType = kTypeEvent; + explicit XEvent(KernelState* kernel_state); ~XEvent() override; diff --git a/src/xenia/kernel/xfile.h b/src/xenia/kernel/xfile.h index 8bd7c6a00..e3e4dd3da 100644 --- a/src/xenia/kernel/xfile.h +++ b/src/xenia/kernel/xfile.h @@ -77,6 +77,8 @@ static_assert_size(X_FILE_DIRECTORY_INFORMATION, 72); class XFile : public XObject { public: + static const Type kType = kTypeFile; + ~XFile() override; vfs::Device* device() const { return entry_->device(); } diff --git a/src/xenia/kernel/xmodule.h b/src/xenia/kernel/xmodule.h index ac215d135..b772f443c 100644 --- a/src/xenia/kernel/xmodule.h +++ b/src/xenia/kernel/xmodule.h @@ -57,6 +57,8 @@ class XModule : public XObject { kUserModule = 1, }; + static const Type kType = kTypeModule; + XModule(KernelState* kernel_state, ModuleType module_type, const std::string& path); virtual ~XModule(); diff --git a/src/xenia/kernel/xmutant.h b/src/xenia/kernel/xmutant.h index 1c87f472a..b87c01020 100644 --- a/src/xenia/kernel/xmutant.h +++ b/src/xenia/kernel/xmutant.h @@ -19,6 +19,8 @@ namespace kernel { class XMutant : public XObject { public: + static const Type kType = kTypeMutant; + explicit XMutant(KernelState* kernel_state); ~XMutant() override; diff --git a/src/xenia/kernel/xsemaphore.h b/src/xenia/kernel/xsemaphore.h index c68393d68..6dbd4f5d6 100644 --- a/src/xenia/kernel/xsemaphore.h +++ b/src/xenia/kernel/xsemaphore.h @@ -24,6 +24,8 @@ struct X_KSEMAPHORE { class XSemaphore : public XObject { public: + static const Type kType = kTypeSemaphore; + explicit XSemaphore(KernelState* kernel_state); ~XSemaphore() override; diff --git a/src/xenia/kernel/xthread.h b/src/xenia/kernel/xthread.h index 130f088bc..8dc9e8058 100644 --- a/src/xenia/kernel/xthread.h +++ b/src/xenia/kernel/xthread.h @@ -103,6 +103,8 @@ static_assert_size(X_KTHREAD, 0xAB0); class XThread : public XObject { public: + static const Type kType = kTypeThread; + struct CreationParams { uint32_t stack_size; uint32_t xapi_thread_startup; diff --git a/src/xenia/kernel/xtimer.h b/src/xenia/kernel/xtimer.h index 914af0b17..052e3ea9c 100644 --- a/src/xenia/kernel/xtimer.h +++ b/src/xenia/kernel/xtimer.h @@ -21,6 +21,8 @@ class XThread; class XTimer : public XObject { public: + static const Type kType = kTypeTimer; + explicit XTimer(KernelState* kernel_state); ~XTimer() override;