2 // Open Service Platform
3 // Copyright (c) 2012 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 FSys_SettingInfoImpl.cpp
20 * @brief This is the implementation file for _SysSettingInfoImpl class.
23 #include <FBaseColArrayList.h>
24 #include <FBaseSysLog.h>
26 #include <FBase_NativeError.h>
27 #include <FSys_SettingInfoImpl.h>
28 #include "FSys_SettingClient.h"
30 using namespace Tizen::App;
31 using namespace Tizen::Base;
32 using namespace Tizen::Base::Collection;
33 using namespace Tizen::Io;
35 namespace Tizen { namespace System
38 static const int _SYSTEM_RESPONSE_DATA = 2;
41 static const wchar_t* _SETTING_SCREEN_WALLPAPER = L"http://tizen.org/setting/screen.wallpaper";
42 static const wchar_t* _SETTING_SYSTEM_SOUND_VOLUME = L"SystemSoundVolume";
43 static const wchar_t* _SETTING_SOUND_SYSTEM_VOLUME= L"http://tizen.org/setting/sound.system.volume";
44 static const wchar_t* _SETTING_MEDIA_SOUND_VOLUME = L"MediaSoundVolume";
45 static const wchar_t* _SETTING_SOUND_MEDIA_VOLUME = L"http://tizen.org/setting/sound.media.volume";
46 static const wchar_t* _SETTING_RINGTONE_SOUND_VOLUME = L"RingtoneSoundVolume";
47 static const wchar_t* _SETTING_SOUND_RINGTONE = L"http://tizen.org/setting/sound.ringtone";
48 static const wchar_t* _SETTING_SOUND_RINGTONE_VOLUME = L"http://tizen.org/setting/sound.ringtone.volume";
49 static const wchar_t* _SETTING_NOTIFICATION_SOUND_VOLUME = L"NotificationSoundVolume";
50 static const wchar_t* _SETTING_SOUND_NOTIFICATION_VOLUME = L"http://tizen.org/setting/sound.notification.volume";
52 static _SettingClient* pSettingClient = null;
55 _SettingInfoImpl::InitSettingClient(void)
57 if(pSettingClient == null)
59 pSettingClient = _SettingClient::GetInstance();
63 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, Tizen::Base::String& value)
66 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
67 return pSettingClient->GetValue(key, value);
71 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, int& value)
74 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
75 return pSettingClient->GetValue(key, value);
79 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, long long& value)
82 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
83 return pSettingClient->GetValue(key, value);
87 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, double& value)
90 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
91 return pSettingClient->GetValue(key, value);
95 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, bool& value)
98 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
99 return pSettingClient->GetValue(key, value);
103 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, Tizen::Base::UuId& value)
106 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
107 return pSettingClient->GetValue(key, value);
111 _SettingInfoImpl::SetWallpaper(const Tizen::Base::String& filePath)
114 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
115 result r = pSettingClient->SetValue(_SETTING_SCREEN_WALLPAPER, filePath);
117 if(r == E_INVALID_ARG)
118 r = E_FILE_NOT_FOUND;
119 else if(r == E_OBJ_NOT_FOUND)
121 else if(r == E_UNSUPPORTED_OPERATION)
128 _SettingInfoImpl::GetValueForPrivilegedKey(const String& key, bool& value)
131 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
132 return pSettingClient->GetValueForPrivilegedKey(key, value);
136 _SettingInfoImpl::SetValue(const String& key, bool value)
139 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
140 return pSettingClient->SetValue(key, value);
144 _SettingInfoImpl::SetValue(const String& key, int value)
147 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
148 return pSettingClient->SetValue(key, value);
153 _SettingInfoImpl::SetValue(const String& key, String value)
156 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
157 return pSettingClient->SetValue(key, value);
161 _SettingInfoImpl::SetValueForPrivilegedKey(const String& key, bool value)
164 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
165 return pSettingClient->SetValueForPrivilegedKey(key, value);
169 _SettingInfoImpl::SetValueForPrivilegedKey(const String& key, String value)
172 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
173 return pSettingClient->SetValueForPrivilegedKey(key, value);
177 _SettingInfoImpl::HasKey(const String& key)
180 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
181 return pSettingClient->HasKey(key);
184 _SettingInfoImpl::ResetToFactoryDefault(void)
187 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
188 return pSettingClient->ResetToFactoryDefault();
192 _SettingInfoImpl::SetRingtone(const Tizen::Base::String& filePath)
195 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
196 result r = pSettingClient->SetValue(_SETTING_SOUND_RINGTONE, filePath);
198 if(r == E_INVALID_ARG)
199 r = E_FILE_NOT_FOUND;
200 else if(r == E_OBJ_NOT_FOUND)
202 else if(r == E_UNSUPPORTED_OPERATION)
209 _SettingInfoImpl::SetVolume(const Tizen::Base::String& soundCategory, int level)
211 result r = E_SUCCESS;
215 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
217 if (soundCategory == _SETTING_SYSTEM_SOUND_VOLUME)
219 key = _SETTING_SOUND_SYSTEM_VOLUME;
221 else if (soundCategory == _SETTING_MEDIA_SOUND_VOLUME)
223 key = _SETTING_SOUND_MEDIA_VOLUME;
225 else if (soundCategory == _SETTING_RINGTONE_SOUND_VOLUME)
227 key = _SETTING_SOUND_RINGTONE_VOLUME;
229 else if (soundCategory == _SETTING_NOTIFICATION_SOUND_VOLUME)
231 key = _SETTING_SOUND_NOTIFICATION_VOLUME;
238 r = pSettingClient->SetValue(key, level);
240 if (r == E_OBJ_NOT_FOUND)
244 else if(r == E_INVALID_ARG)
248 else if(r == E_UNSUPPORTED_OPERATION)
256 _SettingInfoImpl::AddSettingEventListener(ISettingEventListener& listener)
259 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
260 return pSettingClient->AddSettingEventListener(listener);
264 _SettingInfoImpl::RemoveSettingEventListener(ISettingEventListener& listener)
267 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
268 return pSettingClient->RemoveSettingEventListener(listener);
272 _SettingInfoImpl::AddSettingEventListenerForInternal(ISettingEventListener& listener)
275 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
276 return pSettingClient->AddSettingEventListenerForInternal(listener);
280 _SettingInfoImpl::RemoveSettingEventListenerForInternal(ISettingEventListener& listener)
283 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
284 return pSettingClient->RemoveSettingEventListenerForInternal(listener);
288 _SettingInfoImpl::SetSettingEventListener(ISettingEventListener* pListener)
291 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
292 return pSettingClient->SetSettingEventListener(pListener);
296 _SettingInfoImpl::SetValueAsyncForPrivilegedKey(const Tizen::Base::String& key, bool value, ISettingInfoSetValueAsyncResultListener* listener)
299 SysTryReturnResult(NID_SYS, pSettingClient != null, E_SYSTEM, "It is failed to intialize setting manager");
300 return pSettingClient->SetValueAsyncForPrivilegedKey(key, value, listener);
304 _SettingInfoImpl::GetInstance(SettingInfo& settinginfo)
306 return settinginfo.__pSettingInfoImpl;
309 const _SettingInfoImpl*
310 _SettingInfoImpl::GetInstance(const SettingInfo& settinginfo)
312 return settinginfo.__pSettingInfoImpl;