/// <summary>
        /// Sets the capabilities by <see cref="MediaControlPlaybackCommand"/>.
        /// </summary>
        /// <param name="action">A playback command.</param>
        /// <param name="support">A value indicating whether the <paramref name="action"/> is supported or not.</param>
        /// <exception cref="InvalidOperationException">
        ///     The server is not running .<br/>
        ///     -or-<br/>
        ///     An internal error occurs.
        /// </exception>
        /// <exception cref="ArgumentException"><paramref name="action"/> or <paramref name="support"/> is invalid.</exception>
        /// <since_tizen> 5 </since_tizen>
        public static void SetPlaybackCapability(MediaControlPlaybackCommand action, MediaControlCapabilitySupport support)
        {
            ValidationUtil.ValidateEnum(typeof(MediaControlPlaybackCommand), action, nameof(action));
            ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), support, nameof(support));

            Native.SetPlaybackCapability(Handle, action.ToNative(), support).ThrowIfError("Failed to set playback capability.");

            Native.SaveAndNotifyPlaybackCapabilityUpdated(Handle).ThrowIfError("Failed to update playback capability.");
        }
        /// <summary>
        /// Sets the capabilities by <see cref="MediaControlPlaybackCommand"/>.
        /// </summary>
        /// <param name="capabilities">The set of <see cref="MediaControlPlaybackCommand"/> and <see cref="MediaControlCapabilitySupport"/>.</param>
        /// <exception cref="InvalidOperationException">
        ///     The server is not running .<br/>
        ///     -or-<br/>
        ///     An internal error occurs.
        /// </exception>
        /// <exception cref="ArgumentException"><paramref name="capabilities"/> is invalid.</exception>
        /// <since_tizen> 5 </since_tizen>
        public static void SetPlaybackCapabilities(Dictionary <MediaControlPlaybackCommand, MediaControlCapabilitySupport> capabilities)
        {
            foreach (var pair in capabilities)
            {
                ValidationUtil.ValidateEnum(typeof(MediaControlPlaybackCommand), pair.Key, nameof(pair.Key));
                ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), pair.Value, nameof(pair.Value));

                SetPlaybackCapability(pair.Key, pair.Value);
                Native.SetPlaybackCapability(Handle, pair.Key.ToNative(), pair.Value).
                ThrowIfError("Failed to set playback capability.");
            }

            Native.SaveAndNotifyPlaybackCapabilityUpdated(Handle).ThrowIfError("Failed to update playback capability.");
        }