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>
25 #include <FIo_AppServiceIpcMessages.h>
26 #include <FIo_IpcClient.h>
28 #include <FBase_NativeError.h>
29 #include <FSys_SettingInfoImpl.h>
30 #include "FSys_SettingManager.h"
32 using namespace Tizen::App;
33 using namespace Tizen::Base;
34 using namespace Tizen::Base::Collection;
35 using namespace Tizen::Io;
37 namespace Tizen { namespace System
40 static const int _SYSTEM_RESPONSE_DATA = 2;
43 static const wchar_t* _SETTING_SCREEN_WALLPAPER = L"http://tizen.org/setting/screen.wallpaper";
44 static const wchar_t* _SETTING_SYSTEM_SOUND_VOLUME = L"SystemSoundVolume";
45 static const wchar_t* _SETTING_SOUND_SYSTEM_VOLUME= L"http://tizen.org/setting/sound.system.volume";
46 static const wchar_t* _SETTING_MEDIA_SOUND_VOLUME = L"MediaSoundVolume";
47 static const wchar_t* _SETTING_SOUND_MEDIA_VOLUME = L"http://tizen.org/setting/sound.media.volume";
48 static const wchar_t* _SETTING_RINGTONE_SOUND_VOLUME = L"RingtoneSoundVolume";
49 static const wchar_t* _SETTING_SOUND_RINGTONE = L"http://tizen.org/setting/sound.ringtone";
50 static const wchar_t* _SETTING_SOUND_RINGTONE_VOLUME = L"http://tizen.org/setting/sound.ringtone.volume";
51 static const wchar_t* _SETTING_NOTIFICATION_SOUND_VOLUME = L"NotificationSoundVolume";
52 static const wchar_t* _SETTING_SOUND_NOTIFICATION_VOLUME = L"http://tizen.org/setting/sound.notification.volume";
54 static _SettingManager* pSettingManager = null;
57 _SettingInfoImpl::InitSettingManager(void)
59 if(pSettingManager == null)
61 pSettingManager = _SettingManager::GetInstance();
65 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, Tizen::Base::String& value)
68 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
69 return pSettingManager->GetValue(key, value);
73 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, int& value)
76 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
77 return pSettingManager->GetValue(key, value);
81 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, long long& value)
84 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
85 return pSettingManager->GetValue(key, value);
89 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, double& value)
92 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
93 return pSettingManager->GetValue(key, value);
97 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, bool& value)
100 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
101 return pSettingManager->GetValue(key, value);
105 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, Tizen::Base::UuId& value)
107 InitSettingManager();
108 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
109 return pSettingManager->GetValue(key, value);
113 _SettingInfoImpl::SetWallpaper(const Tizen::Base::String& filePath)
115 InitSettingManager();
116 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
117 return pSettingManager->SetValue(_SETTING_SCREEN_WALLPAPER, filePath);
121 _SettingInfoImpl::GetValueForPrivilegedKey(const String& key, bool& value)
123 InitSettingManager();
124 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
125 return pSettingManager->GetValueForPrivilegedKey(key, value);
129 _SettingInfoImpl::SetValue(const String& key, bool value)
131 InitSettingManager();
132 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
133 return pSettingManager->SetValue(key, value);
137 _SettingInfoImpl::SetValue(const String& key, int value)
139 InitSettingManager();
140 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
141 return pSettingManager->SetValue(key, value);
146 _SettingInfoImpl::SetValue(const String& key, String value)
148 InitSettingManager();
149 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
150 return pSettingManager->SetValue(key, value);
154 _SettingInfoImpl::SetValueForPrivilegedKey(const String& key, bool value)
156 InitSettingManager();
157 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
158 return pSettingManager->SetValueForPrivilegedKey(key, value);
162 _SettingInfoImpl::SetValueForPrivilegedKey(const String& key, String value)
164 InitSettingManager();
165 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
166 return pSettingManager->SetValueForPrivilegedKey(key, value);
170 _SettingInfoImpl::HasKey(const String& key)
172 InitSettingManager();
173 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
174 return pSettingManager->HasKey(key);
177 _SettingInfoImpl::ResetToFactoryDefault(void)
179 InitSettingManager();
180 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
181 return pSettingManager->ResetToFactoryDefault();
185 _SettingInfoImpl::SetRingtone(const Tizen::Base::String& filePath)
187 InitSettingManager();
188 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
189 return pSettingManager->SetValue(_SETTING_SOUND_RINGTONE, filePath);
193 _SettingInfoImpl::SetVolume(const Tizen::Base::String& soundCategory, int level)
195 result r = E_SUCCESS;
198 InitSettingManager();
199 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
201 if (soundCategory == _SETTING_SYSTEM_SOUND_VOLUME)
203 key = _SETTING_SOUND_SYSTEM_VOLUME;
205 else if (soundCategory == _SETTING_MEDIA_SOUND_VOLUME)
207 key = _SETTING_SOUND_MEDIA_VOLUME;
209 else if (soundCategory == _SETTING_RINGTONE_SOUND_VOLUME)
211 key = _SETTING_SOUND_RINGTONE_VOLUME;
213 else if (soundCategory == _SETTING_NOTIFICATION_SOUND_VOLUME)
215 key = _SETTING_SOUND_NOTIFICATION_VOLUME;
222 r = pSettingManager->SetValue(key, level);
224 if (r == E_OBJ_NOT_FOUND)
232 _SettingInfoImpl::AddSettingEventListener(ISettingEventListener& listener)
234 InitSettingManager();
235 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
236 return pSettingManager->AddSettingEventListener(listener);
240 _SettingInfoImpl::RemoveSettingEventListener(ISettingEventListener& listener)
242 InitSettingManager();
243 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
244 return pSettingManager->RemoveSettingEventListener(listener);
248 _SettingInfoImpl::AddSettingEventListenerForInternal(ISettingEventListener& listener)
250 InitSettingManager();
251 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
252 return pSettingManager->AddSettingEventListenerForInternal(listener);
256 _SettingInfoImpl::RemoveSettingEventListenerForInternal(ISettingEventListener& listener)
258 InitSettingManager();
259 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
260 return pSettingManager->RemoveSettingEventListenerForInternal(listener);
264 _SettingInfoImpl::SetSettingEventListener(ISettingEventListener* pListener)
266 InitSettingManager();
267 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
268 return pSettingManager->SetSettingEventListener(pListener);
272 _SettingInfoImpl::SetValueAsyncForPrivilegedKey(const Tizen::Base::String& key, bool value, ISettingInfoSetValueAsyncResultListener* listener)
274 InitSettingManager();
275 SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
276 return pSettingManager->SetValueAsyncForPrivilegedKey(key, value, listener);
280 _SettingInfoImpl::GetInstance(SettingInfo& settinginfo)
282 return settinginfo.__pSettingInfoImpl;
285 const _SettingInfoImpl*
286 _SettingInfoImpl::GetInstance(const SettingInfo& settinginfo)
288 return settinginfo.__pSettingInfoImpl;