Tizen 2.0 Release
[framework/osp/media.git] / src / FMedia_PlayerEvent.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 #include <FBaseSysLog.h>
19 #include "FMedia_PlayerEvent.h"
20 #include "FMedia_PlayerEventArg.h"
21
22 namespace Tizen { namespace Media
23 {
24
25 _PlayerEvent::_PlayerEvent()
26         : __cntListener(0)
27 {
28
29 }
30
31 _PlayerEvent::~_PlayerEvent(void)
32 {
33
34 }
35
36 result
37 _PlayerEvent::Construct(void)
38 {
39         result r = E_SUCCESS;
40         r = _Event::Initialize();
41         return r;
42 }
43
44 void
45 _PlayerEvent::FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg)
46 {
47         IPlayerEventListener* pPlayerEventListener = dynamic_cast<IPlayerEventListener*> (&listener);
48         SysTryReturn(NID_MEDIA, pPlayerEventListener, , E_SYSTEM, "[E_SYSTEM] A system error has been occurred. IPlayerEventListener must not be null.");
49
50         const Tizen::Base::Runtime::IEventArg* pTempArg = const_cast <const Tizen::Base::Runtime::IEventArg*>(&arg);
51         SysTryReturn(NID_MEDIA, pTempArg, , E_SYSTEM, "[E_SYSTEM] A system error has been occurred. IEventArg must not be null.");
52         _PlayerEventTypeArg* pArg = (_PlayerEventTypeArg*) pTempArg;
53
54         switch (pArg->GetEventType())
55         {
56         case _PLAYER_EVENT_ERROR:
57                 pPlayerEventListener->OnPlayerErrorOccurred(((_PlayerErrorArg*) pArg)->GetError());
58                 break;
59
60         case _PLAYER_EVENT_OPENED:
61                 pPlayerEventListener->OnPlayerOpened(((_PlayerEventArg*) pArg)->GetResult());
62                 break;
63
64         case _PLAYER_EVENT_ENDOFCLIP:
65                 pPlayerEventListener->OnPlayerEndOfClip();
66                 break;
67
68         case _PLAYER_EVENT_BUFFERING:
69                 pPlayerEventListener->OnPlayerBuffering(((_PlayerStreamingEventArg*) pArg)->GetPercent());
70                 break;
71
72         case _PLAYER_EVENT_SEEKTO:
73                 pPlayerEventListener->OnPlayerSeekCompleted(((_PlayerEventArg*) pArg)->GetResult());
74                 break;
75
76         case _PLAYER_EVENT_INTERRUPTED:
77                 pPlayerEventListener->OnPlayerInterrupted();
78                 break;
79
80         case _PLAYER_EVENT_RELEASED:
81                 pPlayerEventListener->OnPlayerReleased();
82                 break;
83
84         case _PLAYER_EVENT_AUDIO_FOCUS_CHANGED:
85                 pPlayerEventListener->OnPlayerAudioFocusChanged();
86                 break;
87
88         default:
89                 break;
90
91         }
92 }
93
94 };
95 };