2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.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
8 // http://floralicense.org/license/
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.
18 * @file PhnSettingsPresentationModel.cpp
19 * @brief Setting Presentation model
21 #include "PhnSettingsConstants.h"
22 #include "PhnSettingsManager.h"
23 #include "PhnSettingsPresentationModel.h"
24 #include "PhnCallPresentationModel.h"
26 using namespace Tizen::Base;
27 using namespace Tizen::Base::Collection;
28 using namespace Tizen::Social;
30 SettingsPresentationModel* SettingsPresentationModel::__pInstance = null;
32 SettingsPresentationModel::SettingsPresentationModel()
34 __pSettingsMgr = null;
35 __pSettingsEventListener = null;
38 SettingsPresentationModel::~SettingsPresentationModel()
43 SettingsPresentationModel::CreateInstance(void)
45 __pInstance = new (std::nothrow) SettingsPresentationModel();
46 result r = __pInstance->Construct();
53 atexit(&(SettingsPresentationModel::DestroyInstance));
56 SettingsPresentationModel*
57 SettingsPresentationModel::GetInstance(void)
59 if (__pInstance == null)
67 SettingsPresentationModel::DestroyInstance(void)
69 if (__pInstance->__pSettingsMgr != null)
71 __pInstance->__pSettingsMgr->RemoveSettingEventListener(__pInstance);
72 __pInstance->__pSettingsMgr = null;
78 SettingsPresentationModel::Construct(void)
80 //Construct Settings Manager
81 __pSettingsMgr = SettingsManager::GetInstance();
82 __pSettingsMgr->AddSettingEventListener(this);
87 SettingsPresentationModel::AddSettingEventListener(ISettingsEventListener* pSettingsEventListener)
90 if (__pSettingsEventListener == null && pSettingsEventListener != null)
92 __pSettingsEventListener = pSettingsEventListener;
99 SettingsPresentationModel::RemoveSettingEventListener(void)
101 __pSettingsEventListener = null;
105 SettingsPresentationModel::GetRejectMessageListN(void)
107 return __pSettingsMgr->GetRejectMessageListN();
111 SettingsPresentationModel::AddToCallRejectList(const String& phoneNumber, CallRejectMatchCondition rejectCondition)
113 return __pSettingsMgr->AddToCallRejectList(phoneNumber, rejectCondition);
116 IListT<CallRejectInfo>*
117 SettingsPresentationModel::GetCallRejectList(void)
119 return __pSettingsMgr->GetCallRejectList();
123 SettingsPresentationModel::SetPrefixDialNumber(int phoneNumberIndex, const String& phoneNumber)
125 return __pSettingsMgr->SetPrefixDialNumber(phoneNumberIndex, phoneNumber);
129 SettingsPresentationModel::SetActivePrefixDialingValue(int prefixDialIndex)
131 return __pSettingsMgr->SetActivePrefixDialingValue(prefixDialIndex);
135 SettingsPresentationModel::SetPrefixDialingStatus(bool enablePrefixDialing)
137 return __pSettingsMgr->SetPrefixDialingStatus(enablePrefixDialing);
141 SettingsPresentationModel::GetActivePrefixDialNumber(Tizen::Base::String& phoneNumber)
143 result r = E_FAILURE;
144 if(__pSettingsMgr->GetPrefixDialingStatus() == true)
146 int activePrefixIndex = -1;
147 //fetch active prefix index
148 r = __pSettingsMgr->GetActivePrefixDialingValue(activePrefixIndex);
149 TryReturn(r == E_SUCCESS, r, "Error while fetching Active Prefix Dialing Index");
151 //fetch phone number mapped to fetched index
152 r = __pSettingsMgr->GetPrefixDialNumberAtIndex(activePrefixIndex, phoneNumber);
158 SettingsPresentationModel::SetCallBarringStatus(const String& password, CallBarringType callBarringType, bool activateBarring)
160 return __pSettingsMgr->SetCallBarringStatus(password, callBarringType, activateBarring);
164 SettingsPresentationModel::GetCallForwardStatus(CallForwardCondition callFwdCondition)
166 return __pSettingsMgr->GetCallForwardStatus(callFwdCondition);
170 SettingsPresentationModel::SetCallForwardStatus(const String& phoneNumber, CallForwardCondition callFwdCondition, bool activateFwding, int noReplyTime)
172 return __pSettingsMgr->SetCallForwardStatus(phoneNumber, callFwdCondition, activateFwding, noReplyTime);
176 SettingsPresentationModel::GetCallBarringStatus(CallBarringType callBarringType)
178 return __pSettingsMgr->GetCallBarringStatus(callBarringType);
182 SettingsPresentationModel::SetCallWaitingStatus(bool activateWaiting)
184 return __pSettingsMgr->SetCallWaitingStatus(activateWaiting);
188 SettingsPresentationModel::GetCallWaitingStatus(void)
190 return __pSettingsMgr->GetCallWaitingStatus();
194 SettingsPresentationModel::SetCallConnectToneStatus(bool activate)
196 return __pSettingsMgr->SetCallConnectToneStatus(activate);
199 SettingsPresentationModel::GetCallConnectToneStatus(void)
201 return __pSettingsMgr->GetCallConnectToneStatus();
205 SettingsPresentationModel::SetMinuteMinderToneStatus(bool activate)
207 return __pSettingsMgr->SetMinuteMinderToneStatus(activate);
211 SettingsPresentationModel::GetMinuteMinderToneStatus(void)
213 return __pSettingsMgr->GetMinuteMinderToneStatus();
217 SettingsPresentationModel::SetCallEndToneStatus(bool activate)
219 return __pSettingsMgr->SetCallEndToneStatus(activate);
223 SettingsPresentationModel::GetCallEndToneStatus(void)
225 return __pSettingsMgr->GetCallEndToneStatus();
229 SettingsPresentationModel::UpdateCallRejectRow(int rowId, const String& phoneNumber, bool activate, CallRejectMatchCondition rejectCondition)
231 return __pSettingsMgr->UpdateCallRejectRow(rowId, phoneNumber, activate, rejectCondition);
235 SettingsPresentationModel::RemoveCallRejectRow(int rowId)
237 return __pSettingsMgr->RemoveCallRejectRow(rowId);
241 SettingsPresentationModel::SetRejectMessage(int messageIndex, const String& rejectMessage)
243 return __pSettingsMgr->SetRejectMessage(messageIndex, rejectMessage);
247 SettingsPresentationModel::RemoveRejectMessage(const Tizen::Base::Collection::IListT<int>& deleteKeyList)
249 return __pSettingsMgr->RemoveRejectMessage(deleteKeyList);
253 SettingsPresentationModel::SetSpeedDialMapping(const String& contactId, int numberToMap)
255 return __pSettingsMgr->SetSpeedDialMapping(contactId,numberToMap);
258 IMapT<int,SpeedDialInfo>*
259 SettingsPresentationModel::GetSpeedDialMappingN(void)
261 return __pSettingsMgr->GetSpeedDialMappingN();
265 SettingsPresentationModel::IsCallToBeRejected(Tizen::Base::String& phoneNumber)
267 return __pSettingsMgr->IsCallToBeRejected(phoneNumber);
271 SettingsPresentationModel::RemoveSpeedDialMapping(int rowId)
273 return __pSettingsMgr->RemoveSpeedDialMapping(rowId);
277 SettingsPresentationModel::UpdateSpeedDialMapping(int rowId, const String& contactId, int numberToMap)
279 return __pSettingsMgr->UpdateSpeedDialMapping(rowId, contactId, numberToMap);
283 SettingsPresentationModel::SetCallLineIdentity(CallLineIdentity identity)
285 return __pSettingsMgr->SetCallLineIdentity(identity);
289 SettingsPresentationModel::GetCallLineIdentity(CallLineIdentity& identity)
291 return __pSettingsMgr->GetCallLineIdentity(identity);
295 SettingsPresentationModel::SetCallAlertStatus(CallAlertStatus callAlertStatus)
297 return __pSettingsMgr->SetCallAlertStatus(callAlertStatus);
301 SettingsPresentationModel::GetCallAlertStatus(CallAlertStatus& callAlertStatus)
303 return __pSettingsMgr->GetCallAlertStatus(callAlertStatus);
307 SettingsPresentationModel::SetUnknownRejectStatus(bool activate)
309 return __pSettingsMgr->SetUnknownRejectStatus(activate);
313 SettingsPresentationModel::GetUnknownRejectStatus(void)
315 return __pSettingsMgr->GetUnknownRejectStatus();
319 SettingsPresentationModel::FetchContactDetailsN(const String& contactId)
321 return __pSettingsMgr->FetchContactDetailsN(contactId);
324 //////////////////////////////////////////////////
325 // Settings Event Listener Methods //
326 //////////////////////////////////////////////////
329 SettingsPresentationModel::HandleGetCallWaitingResponse(bool isCallSuccessful, bool callWaitingActivated)
331 if (__pSettingsEventListener != null)
333 __pSettingsEventListener->HandleGetCallWaitingResponse(isCallSuccessful, callWaitingActivated);
338 SettingsPresentationModel::HandleSetCallWaitingResponse(bool isCallSuccessful, bool isCallWaitingEnabled)
340 if (__pSettingsEventListener != null)
342 __pSettingsEventListener->HandleSetCallWaitingResponse(isCallSuccessful, isCallWaitingEnabled);
347 SettingsPresentationModel::HandleGetCallForwardResponse(bool isCallSuccessful, CallForwardCondition callFwdCondition, const String& callFwdNumber, bool callForwardActivated, int noReplyWaitTime)
349 if (__pSettingsEventListener != null)
351 __pSettingsEventListener->HandleGetCallForwardResponse(isCallSuccessful, callFwdCondition, callFwdNumber, callForwardActivated, noReplyWaitTime);
356 SettingsPresentationModel::HandleSetCallForwardResponse(bool isCallSuccessful, CallForwardCondition callFwdCondition, const String& callFwdNumber, bool isCallForwardActivated, int noReplyWaitTime)
358 if (__pSettingsEventListener != null)
360 __pSettingsEventListener->HandleSetCallForwardResponse(isCallSuccessful, callFwdCondition, callFwdNumber, isCallForwardActivated, noReplyWaitTime);
365 SettingsPresentationModel::HandleGetCallBarringResponse(bool isCallSuccessful, CallBarringType callBarringType, bool isBarringActivated)
367 if (__pSettingsEventListener != null)
369 __pSettingsEventListener->HandleGetCallBarringResponse(isCallSuccessful, callBarringType, isBarringActivated);
374 SettingsPresentationModel::HandleSetCallBarringResponse(bool isCallSuccessful, CallBarringType callBarringType, bool isBarringActivated)
376 if (__pSettingsEventListener != null)
378 __pSettingsEventListener->HandleSetCallBarringResponse(isCallSuccessful, callBarringType, isBarringActivated);
383 SettingsPresentationModel::HandleFlightMode(bool isFlightModeActivated)
385 CallPresentationModel::GetInstance()->EndAllCall();
388 SettingsPresentationModel::SetCallState(CallState callState)
390 return __pSettingsMgr->SetCallState(callState);
394 SettingsPresentationModel::GetFlightModeStatus(void)
396 return __pSettingsMgr->GetFlightModeStatus();