Merge remote-tracking branch 'origin/API11' into tizen_8.0
authorTizenAPI-Bot <tizenapi@samsung.com>
Tue, 21 Nov 2023 01:55:09 +0000 (01:55 +0000)
committerTizenAPI-Bot <tizenapi@samsung.com>
Tue, 21 Nov 2023 01:55:09 +0000 (01:55 +0000)
40 files changed:
src/Tizen.Applications.Cion/Interop/Interop.Cion.cs
src/Tizen.Applications.Cion/Interop/Interop.Libraries.cs
src/Tizen.Applications.Cion/Tizen.Applications.Cion/ServerBase.cs
src/Tizen.Applications.WidgetControl/Interop/Interop.Libc.cs [deleted file]
src/Tizen.Applications.WidgetControl/Interop/Interop.Libraries.cs
src/Tizen.Applications.WidgetControl/Tizen.Applications/WidgetControl.cs
src/Tizen.Content.MediaContent/Interop/Interop.Libc.cs [deleted file]
src/Tizen.Content.MediaContent/Interop/Interop.Libraries.cs
src/Tizen.Content.MediaContent/Tizen.Content.MediaContent/InteropHelper.cs
src/Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaInfoCommand.cs
src/Tizen.Content.MimeType/Interop/Interop.Libc.cs [deleted file]
src/Tizen.Content.MimeType/Interop/Interop.Libraries.cs
src/Tizen.Content.MimeType/Tizen.Content.MimeType/MimeUtil.cs
src/Tizen.Multimedia.Camera/Camera/CameraSettings.cs
src/Tizen.Multimedia.MediaPlayer/Player/PlayerTrackInfo.cs
src/Tizen.Multimedia.MediaPlayer/Player/StreamInfo.cs
src/Tizen.Multimedia.Metadata/Interop/Interop.Libc.cs [deleted file]
src/Tizen.Multimedia.Metadata/Interop/Interop.Libraries.cs
src/Tizen.Multimedia.Metadata/MetadataEditor/MetadataEditor.cs
src/Tizen.Multimedia.Metadata/MetadataExtractor/Metadata.cs
src/Tizen.Multimedia.Metadata/MetadataExtractor/MetadataExtractor.cs
src/Tizen.Multimedia.Metadata/MetadataExtractor/MetadataExtractorExtensions.cs
src/Tizen.Multimedia.Remoting/Interop/Interop.MediaControllerPlaylist.cs
src/Tizen.Multimedia.Util/ImageUtil/ImageDecoder.cs
src/Tizen.Multimedia.Util/ImageUtil/ImageEncoder.cs
src/Tizen.Multimedia.Util/ThumbnailExtractor/ThumbnailExtractor.cs
src/Tizen.Multimedia.Vision/MediaVision/EngineConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceRecognitionModel.cs
src/Tizen.Multimedia.Vision/MediaVision/SurveillanceEngine.cs
src/Tizen.Multimedia/AssemblyAttrs.cs
src/Tizen.Multimedia/Common.Internal/LibcSupport.cs [deleted file]
src/Tizen.Multimedia/Interop/Interop.Libc.cs
src/Tizen.Multimedia/Interop/Interop.Libraries.cs
src/Tizen.NUI.Scene3D/src/public/Controls/Model.cs
src/Tizen.Network.Bluetooth/Interop/Interop.Glib.cs
src/Tizen.Network.Bluetooth/Tizen.Network.Bluetooth/BluetoothAdapterImpl.cs
src/Tizen.Network.Bluetooth/Tizen.Network.Bluetooth/BluetoothLeAdapterImpl.cs
src/Tizen.System.Information/Interop/Interop.Libc.cs [deleted file]
src/Tizen.System.Information/Interop/Interop.Libraries.cs
src/Tizen.System.Information/Usage/ProcessMemoryUsage.cs

index 75d81ba..2a10ed1 100644 (file)
@@ -34,8 +34,5 @@ internal static partial class Interop
             TimedOut = Tizen.Internals.Errors.ErrorCode.TimedOut,
             OperationFailed = -0x030C0000 | 0x01,
         }
-
-        [DllImport(Libraries.Libc, EntryPoint = "malloc")]
-        internal static extern IntPtr Malloc(int size);
     }
 }
index 0f6ed84..32af828 100644 (file)
@@ -19,6 +19,5 @@ internal static partial class Interop
     internal static partial class Libraries
     {
         public const string Cion = "libcion.so.1";
-        public const string Libc = "libc.so.6";
     }
 }
index 0d2c5a4..fb634d9 100644 (file)
@@ -135,7 +135,7 @@ namespace Tizen.Applications.Cion
                     Marshal.Copy(data, receivedData, 0, dataSize);
                     byte[] returnDataRaw = OnDataReceived(receivedData, new PeerInfo(clone));
                     returnDataSize = returnDataRaw.Length;
-                    returnData = Interop.Cion.Malloc(returnDataSize);
+                    returnData = Marshal.AllocHGlobal(returnDataSize);
                     Marshal.Copy(returnDataRaw, 0, returnData, returnDataSize);
                 });
             ret = Interop.CionServer.CionServerSetDataReceivedCb(_handle, _dataReceivedCb, IntPtr.Zero);
diff --git a/src/Tizen.Applications.WidgetControl/Interop/Interop.Libc.cs b/src/Tizen.Applications.WidgetControl/Interop/Interop.Libc.cs
deleted file mode 100644 (file)
index 979589f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
-    internal static partial class Libc
-    {
-        [DllImport(Libraries.Libc, EntryPoint = "free", CallingConvention = CallingConvention.Cdecl)]
-        internal static extern int Free(IntPtr ptr);
-    }
-}
index 3b5ec29..57a3645 100755 (executable)
@@ -19,6 +19,5 @@ internal static partial class Interop
     internal static partial class Libraries
     {
         public const string WidgetService = "libwidget_service.so.1";
-        public const string Libc = "libc.so.6";
     }
 }
index 0daff7d..d6888fb 100755 (executable)
@@ -707,11 +707,11 @@ namespace Tizen.Applications
             }
             w = new int[cnt1];
             Marshal.Copy(wPtr, w, 0, cnt1);
-            Interop.Libc.Free(wPtr);
+            Marshal.FreeHGlobal(wPtr);
 
             h = new int[cnt1];
             Marshal.Copy(hPtr, h, 0, cnt1);
-            Interop.Libc.Free(hPtr);
+            Marshal.FreeHGlobal(hPtr);
 
             err = Interop.WidgetService.GetSupportedSizeTypes(Id, ref cnt2, out typesPtr);
             switch (err)
@@ -734,7 +734,7 @@ namespace Tizen.Applications
 
             types = new int[cnt2];
             Marshal.Copy(typesPtr, types, 0, cnt2);
-            Interop.Libc.Free(typesPtr);
+            Marshal.FreeHGlobal(typesPtr);
 
             for (int i = 0; i < cnt1; i++)
             {
diff --git a/src/Tizen.Content.MediaContent/Interop/Interop.Libc.cs b/src/Tizen.Content.MediaContent/Interop/Interop.Libc.cs
deleted file mode 100755 (executable)
index 825599e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
-    internal static partial class Libc
-    {
-        [DllImport(Libraries.Libc, EntryPoint = "free", CallingConvention = CallingConvention.Cdecl)]
-        internal static extern int Free(IntPtr ptr);
-    }
-}
index 67fdba7..991cc43 100755 (executable)
@@ -19,6 +19,5 @@ internal static partial class Interop
     internal static partial class Libraries
     {
         public const string MediaContent = "libcapi-content-media-content.so.0";
-        public const string Libc = "libc.so.6";
     }
 }
index e40b1f5..368985e 100644 (file)
@@ -39,7 +39,7 @@ namespace Tizen.Content.MediaContent
             }
             finally
             {
-                Interop.Libc.Free(val);
+                Marshal.FreeHGlobal(val);
             }
         }
 
index ef0303e..708b9bd 100644 (file)
@@ -517,7 +517,7 @@ namespace Tizen.Content.MediaContent
                 var current = path;
                 for (int i = 0; i < length; i++)
                 {
-                    Interop.Libc.Free(Marshal.ReadIntPtr(current));
+                    Marshal.FreeHGlobal(current);
                     current = (IntPtr)((long)current + Marshal.SizeOf(typeof(IntPtr)));
                 }
             }
diff --git a/src/Tizen.Content.MimeType/Interop/Interop.Libc.cs b/src/Tizen.Content.MimeType/Interop/Interop.Libc.cs
deleted file mode 100755 (executable)
index 825599e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
-    internal static partial class Libc
-    {
-        [DllImport(Libraries.Libc, EntryPoint = "free", CallingConvention = CallingConvention.Cdecl)]
-        internal static extern int Free(IntPtr ptr);
-    }
-}
index 365b82e..aa8e295 100755 (executable)
@@ -20,6 +20,5 @@ internal static partial class Interop
     {
         public const string Mime = "libcapi-content-mime-type.so.0";
         public const string Glib = "libglib-2.0.so.0";
-        public const string Libc = "libc.so.6";
     }
 }
index dfce947..02e45a3 100644 (file)
@@ -86,9 +86,9 @@ namespace Tizen.Content.MimeType
             foreach (IntPtr extension in extensionList)
             {
                 coll.Add(Marshal.PtrToStringAnsi(extension));
-                Interop.Libc.Free(extension);
+                Marshal.FreeHGlobal(extension);
             }
-            Interop.Libc.Free(extensionArray);
+            Marshal.FreeHGlobal(extensionArray);
             return coll;
         }
 
index 46b0798..4ed0e53 100644 (file)
@@ -1395,7 +1395,7 @@ namespace Tizen.Multimedia
                 }
                 finally
                 {
-                    LibcSupport.Free(val);
+                    Marshal.FreeHGlobal(val);
                 }
             }
 
@@ -1426,7 +1426,7 @@ namespace Tizen.Multimedia
                 }
                 finally
                 {
-                    LibcSupport.Free(val);
+                    Marshal.FreeHGlobal(val);
                 }
             }
 
index 5cb0007..806f479 100644 (file)
@@ -121,7 +121,9 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                LibcSupport.Free(code);
+                // LibcSupport.Free(code);
+                // Marshal.FreeHGlobal(Marshal.ReadIntPtr(code));
+                Marshal.FreeHGlobal(code);
             }
         }
 
index 3f0519c..67674e5 100644 (file)
@@ -222,8 +222,8 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                LibcSupport.Free(audioPtr);
-                LibcSupport.Free(videoPtr);
+                Marshal.FreeHGlobal(audioPtr);
+                Marshal.FreeHGlobal(videoPtr);
             }
         }
 
@@ -394,7 +394,7 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                LibcSupport.Free(ptr);
+                Marshal.FreeHGlobal(ptr);
             }
         }
 
diff --git a/src/Tizen.Multimedia.Metadata/Interop/Interop.Libc.cs b/src/Tizen.Multimedia.Metadata/Interop/Interop.Libc.cs
deleted file mode 100644 (file)
index 8e0fa30..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
-    internal static partial class Libc
-    {
-        [DllImport(Libraries.Libc, EntryPoint = "free")]
-        public static extern void Free(IntPtr userData);
-    }
-}
index df5d155..01ba226 100644 (file)
@@ -20,6 +20,5 @@ internal static partial class Interop
     {
         public const string MetadataEditor = "libcapi-media-metadata-editor.so";
         public const string MetadataExtractor = "libcapi-media-metadata-extractor.so";
-        public const string Libc = "libc.so.6";
     }
 }
index 79dc010..b9d723c 100644 (file)
@@ -18,6 +18,8 @@ using System;
 using System.IO;
 using System.Runtime.InteropServices;
 
+using Native = Interop.MetadataEditor;
+
 namespace Tizen.Multimedia
 {
     /// <summary>
@@ -72,11 +74,11 @@ namespace Tizen.Multimedia
                 throw new ArgumentException($"{nameof(path)} is a zero-length string.", nameof(path));
             }
 
-            Interop.MetadataEditor.Create(out _handle).ThrowIfError("Failed to create metadata");
+            Native.Create(out _handle).ThrowIfError("Failed to create metadata");
 
             try
             {
-                Interop.MetadataEditor.SetPath(Handle, path).ThrowIfError("Failed to set path");
+                Native.SetPath(Handle, path).ThrowIfError("Failed to set path");
 
                 _isFileReadOnly = File.GetAttributes(path).HasFlag(FileAttributes.ReadOnly);
             }
@@ -93,14 +95,14 @@ namespace Tizen.Multimedia
 
             try
             {
-                Interop.MetadataEditor.GetMetadata(Handle, attr, out val)
+                Native.GetMetadata(Handle, attr, out val)
                     .ThrowIfError("Failed to get metadata");
 
                 return Marshal.PtrToStringAnsi(val);
             }
             finally
             {
-                Interop.Libc.Free(val);
+                Marshal.FreeHGlobal(val);
             }
         }
 
@@ -111,7 +113,7 @@ namespace Tizen.Multimedia
                 throw new InvalidOperationException("The media file is read-only.");
             }
 
-            Interop.MetadataEditor.SetMetadata(Handle, attr, value).ThrowIfError("Failed to set value");
+            Native.SetMetadata(Handle, attr, value).ThrowIfError("Failed to set value");
         }
 
         /// <summary>
@@ -445,7 +447,7 @@ namespace Tizen.Multimedia
                 throw new InvalidOperationException("The media file is read-only.");
             }
 
-            Interop.MetadataEditor.UpdateMetadata(Handle).ThrowIfError("Failed to update file");
+            Native.UpdateMetadata(Handle).ThrowIfError("Failed to update file");
         }
 
         /// <summary>
@@ -480,7 +482,7 @@ namespace Tizen.Multimedia
 
             try
             {
-                Interop.MetadataEditor.GetPicture(Handle, index, out data, out var size, out mimeType).
+                Native.GetPicture(Handle, index, out data, out var size, out mimeType).
                     ThrowIfError("Failed to get the value");
 
                 if (size > 0)
@@ -497,12 +499,12 @@ namespace Tizen.Multimedia
             {
                 if (data != IntPtr.Zero)
                 {
-                    Interop.Libc.Free(data);
+                    Marshal.FreeHGlobal(data);
                 }
 
                 if (mimeType != IntPtr.Zero)
                 {
-                    Interop.Libc.Free(mimeType);
+                    Marshal.FreeHGlobal(mimeType);
                 }
             }
         }
@@ -541,7 +543,7 @@ namespace Tizen.Multimedia
                 throw new InvalidOperationException("The media file is read-only.");
             }
 
-            Interop.MetadataEditor.AddPicture(Handle, path).
+            Native.AddPicture(Handle, path).
                 ThrowIfError("Failed to append picture");
         }
 
@@ -579,7 +581,7 @@ namespace Tizen.Multimedia
                 throw new InvalidOperationException("The media file is read-only.");
             }
 
-            Interop.MetadataEditor.RemovePicture(Handle, index).ThrowIfError("Failed to remove picture");
+            Native.RemovePicture(Handle, index).ThrowIfError("Failed to remove picture");
         }
 
         /// <summary>
@@ -603,7 +605,7 @@ namespace Tizen.Multimedia
             {
                 if (_handle != IntPtr.Zero)
                 {
-                    Interop.MetadataEditor.Destroy(_handle);
+                    Native.Destroy(_handle);
                     _handle = IntPtr.Zero;
                 }
 
index a37caf0..d5ca764 100644 (file)
@@ -16,7 +16,6 @@
 
 using System;
 using System.Diagnostics;
-using static Interop.MetadataExtractor;
 
 namespace Tizen.Multimedia
 {
index 83911e0..071fa49 100644 (file)
@@ -18,6 +18,8 @@ using System;
 using System.IO;
 using System.Runtime.InteropServices;
 
+using Native = Interop.MetadataExtractor;
+
 namespace Tizen.Multimedia
 {
     /// <summary>
@@ -33,7 +35,7 @@ namespace Tizen.Multimedia
         private void Create(Func<MetadataExtractorError> initFunc)
         {
             MetadataExtractorRetValidator.ThrowIfError(
-                Interop.MetadataExtractor.Create(out _handle), "Failed to create metadata");
+                Native.Create(out _handle), "Failed to create metadata");
 
             try
             {
@@ -62,7 +64,7 @@ namespace Tizen.Multimedia
                 throw new ArgumentNullException(nameof(path));
             }
 
-            Create(() => Interop.MetadataExtractor.SetPath(_handle, path));
+            Create(() => Native.SetPath(_handle, path));
         }
 
         /// <summary>
@@ -89,7 +91,7 @@ namespace Tizen.Multimedia
 
             try
             {
-                Create(() => Interop.MetadataExtractor.SetBuffer(_handle, _buffer, buffer.Length));
+                Create(() => Native.SetBuffer(_handle, _buffer, buffer.Length));
             }
             catch (Exception)
             {
@@ -146,7 +148,7 @@ namespace Tizen.Multimedia
             {
                 int size = 0;
 
-                var ret = Interop.MetadataExtractor.GetArtwork(Handle, out data, out size, out mimeType);
+                var ret = Native.GetArtwork(Handle, out data, out size, out mimeType);
                 MetadataExtractorRetValidator.ThrowIfError(ret, "Failed to get value");
 
                 if (size > 0)
@@ -161,8 +163,8 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                Interop.Libc.Free(data);
-                Interop.Libc.Free(mimeType);
+                Marshal.FreeHGlobal(data);
+                Marshal.FreeHGlobal(mimeType);
             }
         }
 
@@ -182,7 +184,7 @@ namespace Tizen.Multimedia
             {
                 uint timestamp = 0;
 
-                var ret = Interop.MetadataExtractor.GetSynclyrics(Handle, index, out timestamp, out lyrics);
+                var ret = Native.GetSynclyrics(Handle, index, out timestamp, out lyrics);
                 MetadataExtractorRetValidator.ThrowIfError(ret, "Failed to get sync lyrics");
 
                 if (lyrics == IntPtr.Zero)
@@ -194,7 +196,7 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                Interop.Libc.Free(lyrics);
+                Marshal.FreeHGlobal(lyrics);
             }
         }
 
@@ -213,7 +215,7 @@ namespace Tizen.Multimedia
             {
                 int size = 0;
 
-                var ret = Interop.MetadataExtractor.GetFrame(Handle, out data, out size);
+                var ret = Native.GetFrame(Handle, out data, out size);
                 MetadataExtractorRetValidator.ThrowIfError(ret, "Failed to get value");
 
                 if (size == 0)
@@ -228,7 +230,7 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                Interop.Libc.Free(data);
+                Marshal.FreeHGlobal(data);
             }
         }
 
@@ -250,7 +252,7 @@ namespace Tizen.Multimedia
             {
                 int size = 0;
 
-                var ret = Interop.MetadataExtractor.GetFrameAtTime(Handle, timeStamp, accurate, out data, out size);
+                var ret = Native.GetFrameAtTime(Handle, timeStamp, accurate, out data, out size);
                 MetadataExtractorRetValidator.ThrowIfError(ret, "Failed to get value");
 
                 if (size == 0)
@@ -265,7 +267,7 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                Interop.Libc.Free(data);
+                Marshal.FreeHGlobal(data);
             }
         }
 
@@ -303,7 +305,7 @@ namespace Tizen.Multimedia
 
             if (_handle != IntPtr.Zero)
             {
-                var ret = Interop.MetadataExtractor.Destroy(_handle);
+                var ret = Native.Destroy(_handle);
                 if (ret != MetadataExtractorError.None)
                 {
                     Log.Error(typeof(MetadataExtractor).FullName, $"DestroyHandle failed : {ret}.");
index f3b72ee..756db79 100644 (file)
@@ -18,7 +18,6 @@ using System;
 using System.Diagnostics;
 using System.Runtime.InteropServices;
 using Native = Interop.MetadataExtractor;
-using static Interop;
 
 namespace Tizen.Multimedia
 {
@@ -38,7 +37,7 @@ namespace Tizen.Multimedia
             }
             finally
             {
-                Libc.Free(valuePtr);
+                Marshal.FreeHGlobal(valuePtr);
             }
         }
 
index 4e49285..6feb12e 100644 (file)
@@ -66,7 +66,7 @@ internal static partial class Interop
             }
             finally
             {
-                Tizen.Multimedia.LibcSupport.Free(valuePtr);
+                Marshal.FreeHGlobal(valuePtr);
             }
         }
 
@@ -141,7 +141,7 @@ internal static partial class Interop
             }
             finally
             {
-                Tizen.Multimedia.LibcSupport.Free(valuePtr);
+                Marshal.FreeHGlobal(valuePtr);
             }
         }
 
@@ -161,8 +161,8 @@ internal static partial class Interop
             }
             finally
             {
-                Tizen.Multimedia.LibcSupport.Free(playlistName);
-                Tizen.Multimedia.LibcSupport.Free(index);
+                Marshal.FreeHGlobal(playlistName);
+                Marshal.FreeHGlobal(index);
             }
         }
 
@@ -184,7 +184,7 @@ internal static partial class Interop
             }
             finally
             {
-                Tizen.Multimedia.LibcSupport.Free(valuePtr);
+                Marshal.FreeHGlobal(valuePtr);
             }
         }
 
index 1ec4f87..e2eae47 100644 (file)
@@ -247,7 +247,7 @@ namespace Tizen.Multimedia.Util
             {
                 if (outBuffer != IntPtr.Zero)
                 {
-                    LibcSupport.Free(outBuffer);
+                    Marshal.FreeHGlobal(outBuffer);
                 }
 
                 if (imageHandle != IntPtr.Zero)
index df40539..f9af44e 100644 (file)
@@ -131,7 +131,7 @@ namespace Tizen.Multimedia.Util
             }
             finally
             {
-                Interop.Libc.Free(outBuffer);
+                Marshal.FreeHGlobal(outBuffer);
             }
         }
 
index c939838..da21203 100644 (file)
@@ -18,6 +18,7 @@ using System;
 using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Runtime.InteropServices;
 using Native = Interop.ThumbnailExtractor;
 
 namespace Tizen.Multimedia.Util
@@ -290,7 +291,7 @@ namespace Tizen.Multimedia.Util
             {
                 if (thumbData != IntPtr.Zero)
                 {
-                    LibcSupport.Free(thumbData);
+                    Marshal.FreeHGlobal(thumbData);
                 }
             }
         }
index 38cda12..16be9b7 100755 (executable)
@@ -148,7 +148,7 @@ namespace Tizen.Multimedia.Vision
             }
             finally
             {
-                LibcSupport.Free(ptr);
+                Marshal.FreeHGlobal(ptr);
             }
         }
 
@@ -178,7 +178,7 @@ namespace Tizen.Multimedia.Vision
                 var current = values;
                 for (int i = 0; i < size; i++)
                 {
-                    LibcSupport.Free(Marshal.ReadIntPtr(current));
+                    Marshal.FreeHGlobal(current);
                     current = (IntPtr)((long)current + Marshal.SizeOf(typeof(IntPtr)));
                 }
             }
index 8d0f730..4770a52 100755 (executable)
@@ -101,7 +101,7 @@ namespace Tizen.Multimedia.Vision
                 {
                     if (unmangedArray != IntPtr.Zero)
                     {
-                        LibcSupport.Free(unmangedArray);
+                        Marshal.FreeHGlobal(unmangedArray);
                     }
                 }
             }
index 0d52836..cfbd25a 100755 (executable)
@@ -93,7 +93,7 @@ namespace Tizen.Multimedia.Vision
                 }
                 finally
                 {
-                    LibcSupport.Free(roiPtr);
+                    Marshal.FreeHGlobal(roiPtr);
                 }
             }
             set
index 51179d6..ed3637c 100644 (file)
@@ -41,6 +41,8 @@ using System.Runtime.CompilerServices;
 
 [assembly: InternalsVisibleTo("Tizen.Multimedia.Radio, " + PublicKey.Value)]
 
+[assembly: InternalsVisibleTo("Tizen.Multimedia.Metadata, " + PublicKey.Value)]
+
 internal static class PublicKey
 {
     internal const string Value =
diff --git a/src/Tizen.Multimedia/Common.Internal/LibcSupport.cs b/src/Tizen.Multimedia/Common.Internal/LibcSupport.cs
deleted file mode 100644 (file)
index c888cd7..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-
-namespace Tizen.Multimedia
-{
-    internal static class LibcSupport
-    {
-        internal static void Free(IntPtr ptr)
-        {
-            Interop.Libc.Free(ptr);
-        }
-    }
-}
index 407352c..96ba300 100644 (file)
@@ -29,10 +29,10 @@ namespace Tizen.Multimedia
                 internal const int R_OK = 0x04;
             }
 
-            [DllImport(Libraries.Libc, EntryPoint = "free")]
+            [DllImport(Libraries.Libc, EntryPoint = "free", CallingConvention = CallingConvention.Cdecl)]
             public static extern void Free(IntPtr ptr);
 
-            [DllImport(Libraries.Libc, EntryPoint = "access")]
+            [DllImport(Libraries.Libc, EntryPoint = "access", CallingConvention = CallingConvention.Cdecl)]
             public static extern int Access(string path, int mode);
         }
     }
index f0ce791..cd7fdf5 100644 (file)
@@ -23,6 +23,7 @@ namespace Tizen.Multimedia
             public const string SoundManager = "libcapi-media-sound-manager.so.0";
             public const string MediaTool = "libcapi-media-tool.so.0";
             public const string Libc = "libc.so.6";
+            public const string GLib = "libglib-2.0.so.0";
         }
     }
 }
index 2b15638..18de468 100755 (executable)
@@ -77,6 +77,7 @@ namespace Tizen.NUI.Scene3D
     public partial class Model : View
     {
         private bool isBuilt = false;
+        private Position modelPivotPoint = new Position();
         internal Model(global::System.IntPtr cPtr, bool cMemoryOwn) : this(cPtr, cMemoryOwn, cMemoryOwn)
         {
         }
@@ -140,6 +141,19 @@ namespace Tizen.NUI.Scene3D
         }
 
         /// <summary>
+        /// Get The original pivot point of the model
+        /// </summary>
+        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Position ModelPivotPoint
+        {
+            get
+            {
+                return modelPivotPoint;
+            }
+        }
+
+        /// <summary>
         /// Set/Get the ImageBasedLight ScaleFactor.
         /// Scale factor controls light source intensity in [0.0f, 1.0f]
         /// </summary>
@@ -640,6 +654,9 @@ namespace Tizen.NUI.Scene3D
             {
                 this.ModelRoot.Build();
                 isBuilt = true;
+                this.modelPivotPoint.X = this.PivotPoint.X;
+                this.modelPivotPoint.Y = this.PivotPoint.Y;
+                this.modelPivotPoint.Z = this.PivotPoint.Z;
             }
         }
 
index 576a6e2..ee7a1e1 100644 (file)
@@ -26,5 +26,8 @@ internal static partial class Interop
 
         [DllImport(Libraries.Glib, EntryPoint = "g_idle_add", CallingConvention = CallingConvention.Cdecl)]
         internal static extern uint IdleAdd(GSourceFunc d, IntPtr data);
+
+        [DllImport(Libraries.Glib, EntryPoint = "g_free", CallingConvention = CallingConvention.Cdecl)]
+        internal static extern void Gfree(IntPtr ptr);
     }
 }
index 99a856d..d74b045 100644 (file)
@@ -534,14 +534,14 @@ namespace Tizen.Network.Bluetooth
                 byte[] hashArr = new byte[hashLength];
                 Marshal.Copy(hash, hashArr, 0, hashLength);
                 oobData.HashValue = hashArr;
-                Interop.Libc.Free(hash);
+                Interop.Glib.Gfree(hash);
             }
 
             if (randomizerLength > 0) {
                 byte[] randomizerArr = new byte[randomizerLength];
                 Marshal.Copy(randomizer, randomizerArr, 0, randomizerLength);
                 oobData.RandomizerValue = randomizerArr;
-                Interop.Libc.Free(randomizer);
+                Interop.Glib.Gfree(randomizer);
             }
 
             return oobData;
index 890c80e..4cd0a80 100644 (file)
@@ -187,10 +187,10 @@ namespace Tizen.Network.Bluetooth
             foreach (IntPtr uuids in uuidList)
             {
                 list.Add(Marshal.PtrToStringAnsi(uuids));
-                Interop.Libc.Free(uuids);
+                Interop.Glib.Gfree(uuids);
             }
 
-            Interop.Libc.Free(uuidListArray);
+            Interop.Glib.Gfree(uuidListArray);
             Marshal.FreeHGlobal(scanDataStruct.AdvData);
             Marshal.FreeHGlobal(scanDataStruct.ScanData);
             return list;
@@ -295,10 +295,10 @@ namespace Tizen.Network.Bluetooth
             foreach (IntPtr uuids in uuidList)
             {
                 list.Add(Marshal.PtrToStringAnsi(uuids));
-                Interop.Libc.Free(uuids);
+                Interop.Glib.Gfree(uuids);
             }
 
-            Interop.Libc.Free(uuidListArray);
+            Interop.Glib.Gfree(uuidListArray);
             Marshal.FreeHGlobal(scanDataStruct.AdvData);
             Marshal.FreeHGlobal(scanDataStruct.ScanData);
             return list;
@@ -417,7 +417,7 @@ namespace Tizen.Network.Bluetooth
                 Marshal.Copy(manufData, data.Data, 0, data.DataLength);
             }
 
-            Interop.Libc.Free(manufData);
+            Interop.Glib.Gfree(manufData);
             Marshal.FreeHGlobal(scanDataStruct.AdvData);
             Marshal.FreeHGlobal(scanDataStruct.ScanData);
             return data;
diff --git a/src/Tizen.System.Information/Interop/Interop.Libc.cs b/src/Tizen.System.Information/Interop/Interop.Libc.cs
deleted file mode 100755 (executable)
index ef021f1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
-*
-* Licensed under the Apache License, Version 2.0 (the License);
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an AS IS BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
-    internal static partial class Libc
-    {
-        [DllImport(Libraries.Libc, EntryPoint = "free")]
-        public static extern void Free(IntPtr ptr);
-    }
-}
index 60ae721..ddb1884 100755 (executable)
@@ -20,6 +20,5 @@ internal static partial class Interop
     {
         internal const string RuntimeInfo = "libcapi-system-runtime-info.so.0";
         internal const string SystemInfo = "libcapi-system-info.so.0";
-        internal const string Libc = "libc.so.6";
     }
 }
index 9583f81..0c4a2a3 100755 (executable)
@@ -280,7 +280,7 @@ namespace Tizen.System
             }
             finally
             {
-                Interop.Libc.Free(ptr);
+                Marshal.FreeHGlobal(ptr);
             }
         }
 
@@ -319,7 +319,7 @@ namespace Tizen.System
             }
             finally
             {
-               Interop.Libc.Free(ptr);
+                Marshal.FreeHGlobal(ptr);
             }
 
             Gpus = GetProcessMemoryValueInt(Interop.RuntimeInfo.ProcessMemoryInfoKey.Gpu, pid);