Tizen 2.0 Release
[platform/framework/native/telephony.git] / src / FTel_CallManagerEvent.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 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 /**
19  * @file    FTel_CallManagerEvent.cpp
20  * @brief   This is the implementation file for the _CallManagerEvent Class.
21  *
22  * This header file contains implementation of the _CallManagerEvent Class.
23  */
24
25 #include <FBaseRtIEventListener.h>
26 #include <FBaseSysLog.h>
27 #include <FTelITelephonyCallEventListener.h>
28 #include "FTel_CallManagerEvent.h"
29 #include "FTel_CallManagerEventArg.h"
30
31
32 namespace Tizen { namespace Telephony
33 {
34
35 ////////////////////////////////////////////////////////////////////////////
36 _CallManagerEvent::_CallManagerEvent(void)
37 {
38 }
39
40 _CallManagerEvent::~_CallManagerEvent(void)
41 {
42 }
43
44 result
45 _CallManagerEvent::Construct(void)
46 {
47     return _Event::Initialize();
48 }
49
50 ////////////////////////////////////////////////////////////////////////////////
51 /// Operation : Protected
52
53 void
54 _CallManagerEvent::FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg)
55 {
56     const _CallManagerEventArg* pArg = dynamic_cast<const _CallManagerEventArg*>(&arg);
57     SysTryReturnVoidResult(NID_TEL, pArg != null, E_INVALID_ARG, "[%s] Invalid argument used. The arg is null pointer.", GetErrorMessage(E_INVALID_ARG));
58
59     ITelephonyCallEventListener* pListener = dynamic_cast<ITelephonyCallEventListener*>(&listener);
60     SysTryReturnVoidResult(NID_TEL, pListener != null, E_INVALID_ARG,
61             "[%s] Invalied argument used. The result of dynamic_cast operation is null for telephony network event listener", GetErrorMessage(E_INVALID_ARG));
62
63     pListener->OnTelephonyCallStatusChangedN(pArg->GetCallStatus(), pArg->GetCallInfoN());
64 }
65
66 } } // Tizen::Telephony