[MediaController] Add new APIs for sending command and its callback (#396)
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia.Remoting / MediaController / PlaylistUpdatedEventArgs.cs
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18
19 namespace Tizen.Multimedia.Remoting
20 {
21     /// <summary>
22     /// Provides data for the <see cref="MediaController.PlaylistUpdated"/> event.
23     /// </summary>
24     /// <since_tizen> 5 </since_tizen>
25     public class PlaylistUpdatedEventArgs : EventArgs
26     {
27         /// <summary>
28         /// Initializes a new instance of the <see cref="PlaylistUpdatedEventArgs"/> class.
29         /// </summary>
30         /// <param name="mode">A value indicating the updated repeat mode.</param>
31         /// <param name="name">A value indicating the playlist name.</param>
32         /// <exception cref="ArgumentException"><paramref name="mode"/> is invalid.</exception>
33         /// <since_tizen> 5 </since_tizen>
34         public PlaylistUpdatedEventArgs(MediaControlPlaylistMode mode, string name)
35         {
36             ValidationUtil.ValidateEnum(typeof(MediaControlPlaylistMode), mode, nameof(mode));
37
38             Mode = mode;
39             Name = name;
40         }
41
42         /// <summary>
43         /// Gets the updated playlist mode.
44         /// </summary>
45         /// <remarks>
46         /// If The <see cref="Mode"/> is <see cref="MediaControlPlaylistMode.Updated"/>,
47         /// Retrieves the playlist using <see cref="Name"/> and call <see cref="MediaControlPlaylist.Update"/> to keep the playlist up to date.
48         /// </remarks>
49         /// <value>The <see cref="MediaControlPlaylistMode"/>.</value>
50         /// <since_tizen> 5 </since_tizen>
51         public MediaControlPlaylistMode Mode { get; }
52
53         /// <summary>
54         /// Gets the playlist name.
55         /// </summary>
56         /// <since_tizen> 5 </since_tizen>
57         public string Name { get; }
58     }
59 }