sync with tizen_2.0
[platform/framework/native/appfw.git] / src / system / FSys_SettingInfoImpl.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 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                FSys_SettingInfoImpl.cpp
20  * @brief               This is the implementation file for _SysSettingInfoImpl class.
21  */
22
23 #include <FBaseColArrayList.h>
24 #include <FBaseSysLog.h>
25 #include <FIo_AppServiceIpcMessages.h>
26 #include <FIo_IpcClient.h>
27
28 #include <FBase_NativeError.h>
29 #include <FSys_SettingInfoImpl.h>
30 #include "FSys_SettingManager.h"
31
32 using namespace Tizen::App;
33 using namespace Tizen::Base;
34 using namespace Tizen::Base::Collection;
35 using namespace Tizen::Io;
36
37 namespace Tizen { namespace System
38 {
39 //IDs for IPC
40 static const int _SYSTEM_RESPONSE_DATA = 2;
41
42 //Reserved key
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";
53
54 static _SettingManager* pSettingManager = null;
55
56 void
57 _SettingInfoImpl::InitSettingManager(void)
58 {
59         if(pSettingManager == null)
60         {
61                 pSettingManager =  _SettingManager::GetInstance();
62         }
63 }
64 result
65 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, Tizen::Base::String& value)
66 {
67         InitSettingManager();
68         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
69         return pSettingManager->GetValue(key, value);
70 }
71
72 result
73 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, int& value)
74 {
75         InitSettingManager();
76         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
77         return pSettingManager->GetValue(key, value);
78 }
79
80 result
81 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, long long& value)
82 {
83         InitSettingManager();
84         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
85         return pSettingManager->GetValue(key, value);
86 }
87
88 result
89 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, double& value)
90 {
91         InitSettingManager();
92         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
93         return pSettingManager->GetValue(key, value);
94 }
95
96 result
97 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, bool& value)
98 {
99         InitSettingManager();
100         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
101         return pSettingManager->GetValue(key, value);
102 }
103
104 result
105 _SettingInfoImpl::GetValue(const Tizen::Base::String& key, Tizen::Base::UuId& value)
106 {
107         InitSettingManager();
108         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
109         return pSettingManager->GetValue(key, value);
110 }
111
112 result
113 _SettingInfoImpl::SetWallpaper(const Tizen::Base::String& filePath)
114 {
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);
118 }
119
120 result
121 _SettingInfoImpl::GetValueForPrivilegedKey(const String& key, bool& value)
122 {
123         InitSettingManager();
124         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
125         return pSettingManager->GetValueForPrivilegedKey(key, value);
126 }
127
128 result
129 _SettingInfoImpl::SetValue(const String& key, bool value)
130 {
131         InitSettingManager();
132         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
133         return pSettingManager->SetValue(key, value);
134 }
135
136 result
137 _SettingInfoImpl::SetValue(const String& key, int value)
138 {
139         InitSettingManager();
140         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
141         return pSettingManager->SetValue(key, value);
142 }
143
144
145 result
146 _SettingInfoImpl::SetValue(const String& key, String value)
147 {
148         InitSettingManager();
149         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
150         return pSettingManager->SetValue(key, value);
151 }
152
153 result
154 _SettingInfoImpl::SetValueForPrivilegedKey(const String& key, bool value)
155 {
156         InitSettingManager();
157         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
158         return pSettingManager->SetValueForPrivilegedKey(key, value);
159 }
160
161 result
162 _SettingInfoImpl::SetValueForPrivilegedKey(const String& key, String value)
163 {
164         InitSettingManager();
165         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
166         return pSettingManager->SetValueForPrivilegedKey(key, value);
167 }
168
169 bool
170 _SettingInfoImpl::HasKey(const String& key)
171 {
172         InitSettingManager();
173         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
174         return pSettingManager->HasKey(key);
175 }
176 result
177 _SettingInfoImpl::ResetToFactoryDefault(void)
178 {
179         InitSettingManager();
180         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
181         return pSettingManager->ResetToFactoryDefault();
182 }
183
184 result
185 _SettingInfoImpl::SetRingtone(const Tizen::Base::String& filePath)
186 {
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);
190 }
191
192 result
193 _SettingInfoImpl::SetVolume(const Tizen::Base::String& soundCategory, int level)
194 {
195         result r = E_SUCCESS;
196         String key;
197
198         InitSettingManager();
199         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
200
201         if (soundCategory == _SETTING_SYSTEM_SOUND_VOLUME)
202         {
203                 key = _SETTING_SOUND_SYSTEM_VOLUME;
204         }
205         else if (soundCategory == _SETTING_MEDIA_SOUND_VOLUME)
206         {
207                 key = _SETTING_SOUND_MEDIA_VOLUME;
208         }
209         else if (soundCategory == _SETTING_RINGTONE_SOUND_VOLUME)
210         {
211                 key = _SETTING_SOUND_RINGTONE_VOLUME;
212         }
213         else if (soundCategory == _SETTING_NOTIFICATION_SOUND_VOLUME)
214         {
215                 key = _SETTING_SOUND_NOTIFICATION_VOLUME;
216         }
217         else
218         {
219                 key = soundCategory;
220         }
221
222         r = pSettingManager->SetValue(key, level);
223
224         if (r == E_OBJ_NOT_FOUND)
225         {
226                 r = E_INVALID_ARG;
227         }
228         return r;
229 }
230
231 result
232 _SettingInfoImpl::AddSettingEventListener(ISettingEventListener& listener)
233 {
234         InitSettingManager();
235         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
236         return pSettingManager->AddSettingEventListener(listener);
237 }
238
239 result
240 _SettingInfoImpl::RemoveSettingEventListener(ISettingEventListener& listener)
241 {
242         InitSettingManager();
243         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
244         return pSettingManager->RemoveSettingEventListener(listener);
245 }
246
247 result
248 _SettingInfoImpl::AddSettingEventListenerForInternal(ISettingEventListener& listener)
249 {
250         InitSettingManager();
251         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
252         return pSettingManager->AddSettingEventListenerForInternal(listener);
253 }
254
255 result
256 _SettingInfoImpl::RemoveSettingEventListenerForInternal(ISettingEventListener& listener)
257 {
258         InitSettingManager();
259         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
260         return pSettingManager->RemoveSettingEventListenerForInternal(listener);
261 }
262
263 result
264 _SettingInfoImpl::SetSettingEventListener(ISettingEventListener* pListener)
265 {
266         InitSettingManager();
267         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
268         return pSettingManager->SetSettingEventListener(pListener);
269 }
270
271 result
272 _SettingInfoImpl::SetValueAsyncForPrivilegedKey(const Tizen::Base::String& key, bool value, ISettingInfoSetValueAsyncResultListener* listener)
273 {
274         InitSettingManager();
275         SysTryReturnResult(NID_SYS, pSettingManager != null, E_SYSTEM, "It is failed to intialize setting manager");
276         return pSettingManager->SetValueAsyncForPrivilegedKey(key, value, listener);
277 }
278
279 _SettingInfoImpl*
280 _SettingInfoImpl::GetInstance(SettingInfo& settinginfo)
281 {
282         return settinginfo.__pSettingInfoImpl;
283 }
284
285 const _SettingInfoImpl*
286 _SettingInfoImpl::GetInstance(const SettingInfo& settinginfo)
287 {
288         return settinginfo.__pSettingInfoImpl;
289 }
290
291 } } // Tizen::System