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);
[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));
/// <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.");
try
{
- RegisterPlaybackCommandReceivedEvent();
RegisterPlaybackActionCommandReceivedEvent();
RegisterPlaybackPositionCommandReceivedEvent();
RegisterPlaylistCommandReceivedEvent();
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.");
}