Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia.MediaPlayer / Player / MediaSource.cs
1 /*
2  * Copyright (c) 2016 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 namespace Tizen.Multimedia
17 {
18     /// <summary>
19     /// MediaSource is a base class for <see cref="Player"/> sources.
20     /// </summary>
21     public abstract class MediaSource
22     {
23         internal MediaSource()
24         {
25         }
26
27         internal void AttachTo(Player player)
28         {
29             Log.Debug(PlayerLog.Tag, PlayerLog.Enter);
30             OnAttached(player);
31         }
32
33         internal void DetachFrom(Player player)
34         {
35             Log.Debug(PlayerLog.Tag, PlayerLog.Enter);
36             OnDetached(player);
37         }
38
39         internal abstract void OnAttached(Player player);
40
41         internal virtual void OnDetached(Player player)
42         {
43         }
44     }
45 }
46