internal static extern MediaControllerError UpdatePlaylist(IntPtr handle, string index,
MediaControllerNativeAttribute attribute, string value);
+ [DllImport(Libraries.MediaController, EntryPoint = "mc_playlist_foreach_playlist")]
+ internal static extern MediaControllerError ForeachPlaylist(string serverName, PlaylistCallback callback, IntPtr userData);
+
+ [DllImport(Libraries.MediaController, EntryPoint = "mc_playlist_get_playlist")]
+ internal static extern MediaControllerError GetPlaylistHandle(string serverName, string playlistName, IntPtr handle);
+
+ [Obsolete("Please do not use! This will be deprecated in level 6. Please use ForeachPlaylist instead.")]
[DllImport(Libraries.MediaController, EntryPoint = "mc_client_foreach_server_playlist")]
internal static extern MediaControllerError ForeachServerPlaylist(MediaControllerClientHandle handle,
string serverName, PlaylistCallback callback, IntPtr userData);
[DllImport(Libraries.MediaController, EntryPoint = "mc_server_delete_playlist")]
internal static extern MediaControllerError DeletePlaylist(IntPtr handle, IntPtr playlist);
- [DllImport(Libraries.MediaController, EntryPoint = "mc_server_foreach_playlist")]
- internal static extern MediaControllerError ForeachPlaylist(IntPtr handle, PlaylistCallback callback, IntPtr userData);
-
[DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_playlist_item_index")]
internal static extern MediaControllerError SetIndexOfCurrentPlayingMedia(IntPtr handle, string index);
using System.Threading.Tasks;
using Tizen.Applications;
using Native = Interop.MediaControllerServer;
+using NativePlaylist = Interop.MediaControllerPlaylist;
namespace Tizen.Multimedia.Remoting
{
/// <since_tizen> 4 </since_tizen>
public static partial class MediaControlServer
{
- private static IntPtr _handle = IntPtr.Zero;
+ private static IntPtr _handle;
private static bool? _isRunning;
+ private static string _serverName;
/// <summary>
/// Gets a value indicating whether the server is running.
RegisterCommandCompletedEvent();
RegisterSearchCommandReceivedEvent();
+ _serverName = Application.Current.ApplicationInfo.ApplicationId;
_isRunning = true;
}
catch
Native.Destroy(_handle);
_playbackCommandCallback = null;
_handle = IntPtr.Zero;
+ _serverName = null;
throw;
}
}
// Gets the playlist handle by name.
internal static IntPtr GetPlaylistHandle(string name)
{
- Native.GetPlaylistHandle(Handle, name, out IntPtr playlistHandle)
- .ThrowIfError("Failed to get playlist handle by name");
+ NativePlaylist.GetPlaylistHandle(_serverName, name, out IntPtr playlistHandle).
+ ThrowIfError("Failed to get playlist handle by name");
return playlistHandle;
}
return false;
}
};
- NativePlaylist.ForeachServerPlaylist(Manager.Handle, ServerAppId, playlistCallback, IntPtr.Zero)
- .ThrowIfError("Failed to get playlist.");
+
+ NativePlaylist.ForeachPlaylist(ServerAppId, playlistCallback, IntPtr.Zero).
+ ThrowIfError("Failed to get playlist.");
if (caught != null)
{