Revert "Add API for release IntPtr"
authorXiaohui Fang <xiaohui.fang@samsung.com>
Tue, 11 Mar 2025 08:45:43 +0000 (16:45 +0800)
committerWonsik Jung <sidein@samsung.com>
Wed, 12 Mar 2025 04:26:52 +0000 (13:26 +0900)
This reverts commit 18aeab0a75a23d13b01220bf5a8a49377979c12a.

src/Tizen.NUI/src/internal/Common/IntPtrPool.cs
src/Tizen.NUI/src/public/Common/Position.cs
src/Tizen.NUI/src/public/Common/Position2D.cs
src/Tizen.NUI/src/public/Common/Vector2.cs
src/Tizen.NUI/src/public/Common/Vector3.cs
src/Tizen.NUI/src/public/Common/Vector4.cs

index 89ed8722d53e0e242f6390edf6a767b033e328b0..150d0d809ceace444c3832393f302bcbab604482 100755 (executable)
@@ -25,35 +25,21 @@ namespace Tizen.NUI
 {
     internal class IntPtrPool
     {
-        private Queue<IntPtr> ptrQueue = new Queue<IntPtr>();
+        private System.Collections.Generic.Stack<IntPtr> pool = new System.Collections.Generic.Stack<IntPtr>();
         private CreatePtrCallback createPtrCb;
-        private DeletePtrCallback deletePtrCb;
-
-        private static List<IntPtrPool> pools = new List<IntPtrPool>();
 
         public delegate IntPtr CreatePtrCallback();
-        public delegate void DeletePtrCallback(IntPtr ptr);
-
-        public static void ClearPools()
-        {
-            foreach (var pool in pools)
-            {
-                pool.ClearPtrs();
-            }
-        }
 
-        public IntPtrPool(CreatePtrCallback createPtrCb, DeletePtrCallback deletePtrCb)
+        public IntPtrPool(CreatePtrCallback createPtrCb)
         {
             this.createPtrCb = createPtrCb;
-            this.deletePtrCb = deletePtrCb;
-            pools.Add(this);
         }
 
         public IntPtr GetPtr()
         {
             IntPtr ret = IntPtr.Zero;
 
-            if (0 == ptrQueue.Count)
+            if (0 == pool.Count)
             {
                 if (null == createPtrCb)
                 {
@@ -64,7 +50,7 @@ namespace Tizen.NUI
             }
             else
             {
-                ret = ptrQueue.Dequeue();
+                ret = pool.Pop();
             }
 
             return ret;
@@ -72,16 +58,7 @@ namespace Tizen.NUI
 
         public void PutPtr(IntPtr ptr)
         {
-            ptrQueue.Enqueue(ptr);
-        }
-
-        public void ClearPtrs()
-        {
-            while (ptrQueue.Count > 0)
-            {
-                var ptr = ptrQueue.Dequeue();
-                deletePtrCb?.Invoke(ptr);
-            }
+            pool.Push(ptr);
         }
     }
 }
index 3b336ca4bdd0e3f2171e3daeee4af294d0f0a26b..bee4051589e4b9644b243412d434cf00f063cc84 100755 (executable)
@@ -40,7 +40,7 @@ namespace Tizen.NUI
             {
                 if (null == ptrPool)
                 {
-                    ptrPool = new IntPtrPool(CreateEmptryPtr, DeletePtr);
+                    ptrPool = new IntPtrPool(CreateEmptryPtr);
                 }
 
                 return ptrPool;
@@ -52,12 +52,6 @@ namespace Tizen.NUI
             return Interop.Vector3.NewVector3();
         }
 
-        private static void DeletePtr(IntPtr ptr)
-        {
-            var swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, ptr);
-            Interop.Vector3.DeleteVector3(swigCPtr);
-        }
-
         internal static new void Preload()
         {
             // Do nothing. Just call for load static values.
index 7ab34aad0a568628da70fe6ba5139bfdbc6b2ed9..c3ed0039a00e52f70cbc2dc57b2ed1c379e6d310 100755 (executable)
@@ -37,7 +37,7 @@ namespace Tizen.NUI
             {
                 if (null == ptrPool)
                 {
-                    ptrPool = new IntPtrPool(CreateEmptryPtr, DeletePtr);
+                    ptrPool = new IntPtrPool(CreateEmptryPtr);
                 }
 
                 return ptrPool;
@@ -49,11 +49,6 @@ namespace Tizen.NUI
             return Interop.Vector2.NewVector2();
         }
 
-        private static void DeletePtr(IntPtr ptr)
-        {
-            var swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, ptr);
-            Interop.Vector2.DeleteVector2(swigCPtr);
-        }
         /// <summary>
         /// The constructor.
         /// </summary>
index ecfddc96fd9d30fb52d4d609661e2a17a8446a89..38531832580efbdc4d2d1b40172b1f4467c55212 100755 (executable)
@@ -42,7 +42,7 @@ namespace Tizen.NUI
             {
                 if (null == ptrPool)
                 {
-                    ptrPool = new IntPtrPool(CreateEmptryPtr, DeletePtr);
+                    ptrPool = new IntPtrPool(CreateEmptryPtr);
                 }
 
                 return ptrPool;
@@ -54,12 +54,6 @@ namespace Tizen.NUI
             return Interop.Vector2.NewVector2();
         }
 
-        private static void DeletePtr(IntPtr ptr)
-        {
-            var swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, ptr);
-            Interop.Vector2.DeleteVector2(swigCPtr);
-        }
-
         internal static new void Preload()
         {
             // Do nothing. Just call for load static values.
index 16c24010e2d23e22ddb8d13fd148996e232aa4c1..d4382d1f39c0a4b88f30277567b023ee038cfbc3 100755 (executable)
@@ -45,7 +45,7 @@ namespace Tizen.NUI
             {
                 if (null == ptrPool)
                 {
-                    ptrPool = new IntPtrPool(CreateEmptryPtr, DeletePtr);
+                    ptrPool = new IntPtrPool(CreateEmptryPtr);
                 }
 
                 return ptrPool;
@@ -57,12 +57,6 @@ namespace Tizen.NUI
             return Interop.Vector3.NewVector3();
         }
 
-        private static void DeletePtr(IntPtr ptr)
-        {
-            var swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, ptr);
-            Interop.Vector3.DeleteVector3(swigCPtr);
-        }
-
         internal static new void Preload()
         {
             // Do nothing. Just call for load static values.
index f34998bca35a5edbe8cc84a890666feb9b5b5deb..2c77c04e789e3703ac5e1b93172d3c6b8a897dea 100755 (executable)
@@ -42,7 +42,7 @@ namespace Tizen.NUI
             {
                 if (null == ptrPool)
                 {
-                    ptrPool = new IntPtrPool(CreateEmptryPtr, DeletePtr);
+                    ptrPool = new IntPtrPool(CreateEmptryPtr);
                 }
 
                 return ptrPool;
@@ -54,12 +54,6 @@ namespace Tizen.NUI
             return Interop.Vector4.NewVector4();
         }
 
-        private static void DeletePtr(IntPtr ptr)
-        {
-            var swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, ptr);
-            Interop.Vector4.DeleteVector4(swigCPtr);
-        }
-
         internal static new void Preload()
         {
             // Do nothing. Just call for load static values.