[MediaController] Replace native api with new one (#609)
authorhsgwon <haesu.gwon@samsung.com>
Thu, 13 Dec 2018 04:53:55 +0000 (13:53 +0900)
committerGitHub <noreply@github.com>
Thu, 13 Dec 2018 04:53:55 +0000 (13:53 +0900)
* [MediaController] Replace native api with new one

src/Tizen.Multimedia.Remoting/Interop/Interop.MediaControllerClient.cs
src/Tizen.Multimedia.Remoting/Interop/Interop.MediaControllerServer.cs
src/Tizen.Multimedia.Remoting/MediaController/MediaControlServer.Events.cs
src/Tizen.Multimedia.Remoting/MediaController/MediaControlServer.cs
src/Tizen.Multimedia.Remoting/MediaController/MediaController.cs

index 73e70de..fa1fd34 100644 (file)
@@ -137,6 +137,10 @@ internal static partial class Interop
         internal static extern MediaControllerError SendPlaybackActionCommand(MediaControllerClientHandle handle,
             string serverName, MediaControllerNativePlaybackAction action, out string requestId);
 
+        [DllImport(Libraries.MediaController, EntryPoint = "mc_client_send_playback_action_cmd")]
+        internal static extern MediaControllerError SendPlaybackActionCommandWithoutReqId(MediaControllerClientHandle handle,
+            string serverName, MediaControllerNativePlaybackAction action, string requestId = default(string));
+
         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_send_playback_position_cmd")]
         internal static extern MediaControllerError SendPlaybackPositionCommand(MediaControllerClientHandle handle,
             string serverName, ulong playbackPosition, out string requestId);
index dbef5f4..a4f1938 100644 (file)
@@ -101,13 +101,6 @@ internal static partial class Interop
         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_update_repeat_mode")]
         internal static extern MediaControllerError UpdateRepeatMode(IntPtr handle, MediaControllerNativeRepeatMode mode);
 
-        [DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_playback_state_command_received_cb")]
-        internal static extern MediaControllerError SetPlaybackStateCommandReceivedCb(IntPtr handle,
-            PlaybackStateCommandReceivedCallback callback, IntPtr userData = default(IntPtr));
-
-        [DllImport(Libraries.MediaController, EntryPoint = "mc_server_unset_playback_state_command_received_cb")]
-        internal static extern MediaControllerError UnsetPlaybackStateCmdRecvCb(IntPtr handle);
-
         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_playback_action_cmd_received_cb")]
         internal static extern MediaControllerError SetPlaybackActionCommandReceivedCb(IntPtr handle,
             PlaybackActionCommandReceivedCallback callback, IntPtr userData = default(IntPtr));
index e532c54..30b158b 100644 (file)
@@ -88,24 +88,22 @@ namespace Tizen.Multimedia.Remoting
         /// <since_tizen> 5 </since_tizen>
         internal static event EventHandler<CommandCompletedEventArgs> CommandCompleted;
 
-        private static void RegisterPlaybackCommandReceivedEvent()
-        {
-            _playbackCommandCallback = (clientName, playbackCode, _) =>
-            {
-                PlaybackCommandReceived?.Invoke(null, new PlaybackCommandReceivedEventArgs(clientName, playbackCode.ToPublic()));
-            };
-            Native.SetPlaybackStateCommandReceivedCb(Handle, _playbackCommandCallback).
-                ThrowIfError("Failed to init PlaybackStateCommandReceived event.");
-        }
-
         private static void RegisterPlaybackActionCommandReceivedEvent()
         {
             _playbackActionCommandCallback = (clientName, requestId, playbackCommand, _) =>
             {
-                var command = new PlaybackCommand(playbackCommand.ToPublic());
-                command.SetResponseInformation(clientName, requestId);
+                // SendPlaybackCommand doesn't use requestId. It'll be removed in Level 7.
+                if (requestId == null)
+                {
+                    PlaybackCommandReceived?.Invoke(null, new PlaybackCommandReceivedEventArgs(clientName, playbackCommand.ToPublic()));
+                }
+                else
+                {
+                    var command = new PlaybackCommand(playbackCommand.ToPublic());
+                    command.SetResponseInformation(clientName, requestId);
 
-                PlaybackActionCommandReceived?.Invoke(null, new PlaybackActionCommandReceivedEventArgs(command));
+                    PlaybackActionCommandReceived?.Invoke(null, new PlaybackActionCommandReceivedEventArgs(command));
+                }
             };
             Native.SetPlaybackActionCommandReceivedCb(Handle, _playbackActionCommandCallback).
                 ThrowIfError("Failed to init PlaybackActionCommandReceived event.");
index 2133026..1d10bf3 100644 (file)
@@ -105,7 +105,6 @@ namespace Tizen.Multimedia.Remoting
 
             try
             {
-                RegisterPlaybackCommandReceivedEvent();
                 RegisterPlaybackActionCommandReceivedEvent();
                 RegisterPlaybackPositionCommandReceivedEvent();
                 RegisterPlaylistCommandReceivedEvent();
index 3ca8b47..f4bac7d 100644 (file)
@@ -434,7 +434,7 @@ namespace Tizen.Multimedia.Remoting
 
             ValidationUtil.ValidateEnum(typeof(MediaControlPlaybackCommand), command, nameof(command));
 
-            Native.SendPlaybackStateCommand(Manager.Handle, ServerAppId, command.ToNative()).
+            Native.SendPlaybackActionCommandWithoutReqId(Manager.Handle, ServerAppId, command.ToNative()).
                 ThrowIfError("Failed to send command.");
         }