aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Kernel/Common/KAutoObject.cs
diff options
context:
space:
mode:
authorTSR Berry <20988865+TSRBerry@users.noreply.github.com>2023-04-08 01:22:00 +0200
committerMary <thog@protonmail.com>2023-04-27 23:51:14 +0200
commitcee712105850ac3385cd0091a923438167433f9f (patch)
tree4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /Ryujinx.HLE/HOS/Kernel/Common/KAutoObject.cs
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Common/KAutoObject.cs')
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Common/KAutoObject.cs73
1 files changed, 0 insertions, 73 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Common/KAutoObject.cs b/Ryujinx.HLE/HOS/Kernel/Common/KAutoObject.cs
deleted file mode 100644
index 424bf788..00000000
--- a/Ryujinx.HLE/HOS/Kernel/Common/KAutoObject.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using Ryujinx.Horizon.Common;
-using System.Diagnostics;
-using System.Threading;
-
-namespace Ryujinx.HLE.HOS.Kernel.Common
-{
- class KAutoObject
- {
- protected KernelContext KernelContext;
-
- private int _referenceCount;
-
- public KAutoObject(KernelContext context)
- {
- KernelContext = context;
-
- _referenceCount = 1;
- }
-
- public virtual Result SetName(string name)
- {
- if (!KernelContext.AutoObjectNames.TryAdd(name, this))
- {
- return KernelResult.InvalidState;
- }
-
- return Result.Success;
- }
-
- public static Result RemoveName(KernelContext context, string name)
- {
- if (!context.AutoObjectNames.TryRemove(name, out _))
- {
- return KernelResult.NotFound;
- }
-
- return Result.Success;
- }
-
- public static KAutoObject FindNamedObject(KernelContext context, string name)
- {
- if (context.AutoObjectNames.TryGetValue(name, out KAutoObject obj))
- {
- return obj;
- }
-
- return null;
- }
-
- public void IncrementReferenceCount()
- {
- int newRefCount = Interlocked.Increment(ref _referenceCount);
-
- Debug.Assert(newRefCount >= 2);
- }
-
- public void DecrementReferenceCount()
- {
- int newRefCount = Interlocked.Decrement(ref _referenceCount);
-
- Debug.Assert(newRefCount >= 0);
-
- if (newRefCount == 0)
- {
- Destroy();
- }
- }
-
- protected virtual void Destroy()
- {
- }
- }
-} \ No newline at end of file