Merge "[Remoting] Modified task related codes in ScreenMirroring." 5.0.0-preview1-00425
authorcoderhyme <jhyo.kim@samsung.com>
Wed, 27 Dec 2017 23:16:19 +0000 (23:16 +0000)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Wed, 27 Dec 2017 23:16:19 +0000 (23:16 +0000)
src/Tizen.Applications.DataControl/Interop/Interop.DataControl.cs
src/Tizen.Applications.DataControl/Tizen.Applications.DataControl/Consumer.cs
src/Tizen.Multimedia.MediaPlayer/Player/Player.Events.cs

index b19f6ee..e598ef4 100755 (executable)
@@ -154,7 +154,7 @@ internal static partial class Interop
         internal static extern ResultType DataControlGetDataId(SafeDataControlHandle handle, out string dataId);
 
         internal delegate void MapGetResponseCallback(int requestID,
-            IntPtr provider, string[] resultValueList, int resultValueCount, bool providerResult, string error, IntPtr userData);
+            IntPtr provider, IntPtr resultValueList, int resultValueCount, bool providerResult, string error, IntPtr userData);
         internal delegate void MapSetResponseCallback(int requestID,
             IntPtr provider, bool providerResult, string error, IntPtr userData);
         internal delegate void MapAddResponseCallback(int requestID,
index 27a85ac..9619d44 100755 (executable)
@@ -17,6 +17,7 @@ using System;
 using System.Collections.Generic;
 using Tizen.Applications.DataControl.Core;
 using System.Threading;
+using System.Runtime.InteropServices;
 
 namespace Tizen.Applications.DataControl
 {
@@ -166,7 +167,18 @@ namespace Tizen.Applications.DataControl
                 _reqConsumerDictionary.Remove(reqId);
             }
 
-            private static void MapGetResponse(int reqId, IntPtr provider, string[] valueList, int valueCount, bool providerResult, string error, IntPtr userData)
+            static void IntPtrToStringArray(IntPtr unmanagedArray, int size, out string[] managedArray)
+            {
+                managedArray = new string[size];
+                IntPtr[] IntPtrArray = new IntPtr[size];
+                Marshal.Copy(unmanagedArray, IntPtrArray, 0, size);
+                for (int iterator = 0; iterator < size; iterator++)
+                {
+                    managedArray[iterator] = Marshal.PtrToStringAnsi(IntPtrArray[iterator]);
+                }
+            }
+
+            private static void MapGetResponse(int reqId, IntPtr provider, IntPtr valueList, int valueCount, bool providerResult, string error, IntPtr userData)
             {
                 MapGetResult mgr;
                 Log.Debug(LogTag, $"MapGetResponse {reqId.ToString()}");
@@ -183,7 +195,9 @@ namespace Tizen.Applications.DataControl
 
                 if (valueList !=null)
                 {
-                    mgr = new MapGetResult(valueList, providerResult);
+                    string[] stringArray;
+                    IntPtrToStringArray(valueList, valueCount, out stringArray);
+                    mgr = new MapGetResult(stringArray, providerResult);
                 }
                 else
                 {
index e3ec8fd..1d0b076 100644 (file)
@@ -35,6 +35,12 @@ namespace Tizen.Multimedia
         /// <summary>
         /// Occurs when the playback of a media is interrupted.
         /// </summary>
+        /// <remarks>
+        /// If the reason is <see cref="PlaybackInterruptionReason.ResourceConflict"/>,
+        /// the player state will be one of <see cref="PlayerState.Idle"/>, <see cref="PlayerState.Ready"/>,
+        /// or <see cref="PlayerState.Paused"/>.
+        /// </remarks>
+        /// <seealso cref="Player.State"/>
         /// <since_tizen> 3 </since_tizen>
         public event EventHandler<PlaybackInterruptedEventArgs> PlaybackInterrupted;
         private NativePlayer.PlaybackInterruptedCallback _playbackInterruptedCallback;