2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file FTel_CallForwardEvent.cpp
20 * @brief This is the implementation file for the _CallForwardEvent Class.
22 * This header file contains implementation of the _CallForwardEvent Class.
25 #include <FBaseRtIEventListener.h>
26 #include <FBaseColArrayList.h>
27 #include <FBaseSysLog.h>
28 #include <FTelITelephonyCallForwardListener.h>
29 #include "FTel_CallForwardEvent.h"
30 #include "FTel_CallForwardEventArg.h"
33 using namespace Tizen::Base::Collection;
35 namespace Tizen { namespace Telephony
38 ////////////////////////////////////////////////////////////////////////////
39 _CallForwardEvent::_CallForwardEvent(void)
43 _CallForwardEvent::~_CallForwardEvent(void)
48 _CallForwardEvent::Construct(void)
50 return _Event::Initialize();
53 ////////////////////////////////////////////////////////////////////////////////
54 /// Operation : Protected
57 _CallForwardEvent::FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg)
59 const _CallForwardEventArg* pArg = dynamic_cast<const _CallForwardEventArg*>(&arg);
60 SysTryReturnVoidResult(NID_TEL, pArg != null, E_INVALID_ARG, "[%s] Invalid argument used. The arg is a null pointer.", GetErrorMessage(E_INVALID_ARG));
62 ITelephonyCallForwardListener* pCallForwardListner = dynamic_cast<ITelephonyCallForwardListener*>(&listener);
63 SysTryReturnVoidResult(NID_TEL, pCallForwardListner != null, E_INVALID_ARG,
64 "[%s] Invalid argument used. The result of a dynamic_cast operation is null for call forward listener", GetErrorMessage(E_INVALID_ARG));
66 _CallForwardEventType eventType = pArg->GetEventType();
70 case _CALL_FORWARD_EVENT_NUMBER_RECEIVED:
71 pCallForwardListner->OnTelephonyCallForwardNumberReceived(pArg->GetPhoneNumber(), pArg->GetError());
73 case _CALL_FORWARD_EVENT_RESPONSE_RECEIVED:
74 pCallForwardListner->OnTelephonyCallForwardResponseReceived(pArg->GetPhoneNumber(), pArg->GetError());
76 case _CALL_FORWARD_EVENT_STOPPED:
77 pCallForwardListner->OnTelephonyCallForwardStopped(pArg->GetPhoneNumber(), pArg->GetError());
84 } } // Tizen::Telephony