Apply string localization for web
[platform/framework/native/appfw.git] / src / server / system / inc / FSys_SettingInfo.h
1 #ifndef _FSYS_SETTING_INFO_INTERNAL_H_
2 #define _FSYS_SETTING_INFO_INTERNAL_H_
3
4 #include <pthread.h>
5
6 #include <FBaseColArrayListT.h>
7 #include <FBaseColHashMapT.h>
8 #include <FBaseSysLog.h>
9 #include <FBaseString.h>
10 #include <FSysISettingEventListener.h>
11 #include <FSysISettingInfoSetValueAsyncResultListener.h>
12
13 namespace Tizen { namespace System
14 {
15
16 class _ISettingProvider;
17
18 class _OSP_EXPORT_ _SettingInfo
19 {
20 private:
21         _SettingInfo();
22         ~_SettingInfo();
23
24         static void InitSingleton(void);
25         static void DestroySingleton(void);
26
27 public:
28         static _SettingInfo* GetInstance(void);
29
30         result GetValue(const Tizen::Base::String& key, Tizen::Base::String& value);
31         result GetValue(const Tizen::Base::String& key, int& value);
32         result GetValue(const Tizen::Base::String& key, bool& value);
33         bool HasKey(const Tizen::Base::String& key);
34         result SetValue(const Tizen::Base::String& key, bool value);
35         result SetValue(const Tizen::Base::String& key, int value);
36         result SetValue(const Tizen::Base::String& key, Tizen::Base::String value);
37         result AddSettingEventListener(ISettingEventListener& listener);
38         result RemoveSettingEventListener(ISettingEventListener& listener);
39         result GetValueForPrivilegedKey(const Tizen::Base::String& key, bool& value);
40         result SetValueForPrivilegedKey(const Tizen::Base::String& key, bool value);
41         result SetValueAsyncForPrivilegedKey(const Tizen::Base::String& key, bool value, ISettingInfoSetValueAsyncResultListener* listener);
42         result SetValueAsync(const Tizen::Base::String& key, bool value, ISettingInfoSetValueAsyncResultListener* listener);
43         result SetValueForPrivilegedKey(const Tizen::Base::String& key, Tizen::Base::String value);
44         result ResetToFactoryDefault(void);
45
46         result AnnounceSettingEvent(const Tizen::Base::String& key);
47
48 private:
49         result RegisterProvider(const Tizen::Base::String& key, _ISettingProvider* provider);
50         result UnregisterProvider(const Tizen::Base::String& key);
51         _ISettingProvider* GetProvider(const Tizen::Base::String& key);
52         result RemoveProvider(const Tizen::Base::String key);
53         
54 private:
55         static _SettingInfo* __pSettingInfo;
56
57 private:
58         Tizen::Base::Collection::HashMapT<Tizen::Base::String, _ISettingProvider*> __settingProviderList;
59         Tizen::Base::Collection::ArrayListT< ISettingEventListener* > __settingEventList;
60
61         class _StringHashProvider
62                 : public Tizen::Base::Collection::IHashCodeProviderT<Tizen::Base::String>
63         {
64         public:
65                 virtual int GetHashCode(const Tizen::Base::String& value) const
66                 {
67                         return value.GetHashCode();
68                 }
69         };
70
71         class _StringComparer
72         : public Tizen::Base::Collection::IComparerT<Tizen::Base::String>
73         {
74         public:
75                 virtual result Compare(const Tizen::Base::String& string1, const Tizen::Base::String& string2, int& cmp) const
76                 {
77                         cmp = string1.CompareTo(string2);
78                         return E_SUCCESS;
79                 }
80         };
81 };
82
83 }}
84 #endif