Update FApp documents from LB
[platform/framework/native/appfw.git] / inc / FAppIAppSettingEventListener.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.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
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
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.
15 //
16 /**
17  * @file        FAppIAppSettingEventListener.h
18  * @brief       This is the header file for the %IAppSettingEventListener interface.
19  *
20  * This header file contains the declarations of the %IAppSettingEventListener interface.
21  */
22
23 #ifndef _FAPP_IAPP_SETTING_EVENT_LISTENER_H_
24 #define _FAPP_IAPP_SETTING_EVENT_LISTENER_H_
25
26 #include <FBaseTypes.h>
27 #include <FBaseString.h>
28 #include <FBaseRtIEventListener.h>
29
30
31 namespace Tizen { namespace App
32 {
33
34 /**
35  * @interface   IAppSettingEventListener
36  * @brief               This interface is the listener interface for receiving setting change events.
37  *
38  * @since       2.0
39  *
40  * The %IAppSettingEventListener interface is the listener interface for receiving setting change events.
41  * The class that processes a setting change event implements this interface and registers it using
42  * the AppSetting::SetAppSettingEventListener() method.
43  *
44  */
45 class _OSP_EXPORT_ IAppSettingEventListener
46         : virtual public Tizen::Base::Runtime::IEventListener
47 {
48 public:
49         /**
50          * This polymorphic destructor should be overridden if required. @n
51          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
52          *
53          * @since       2.0
54          *
55          * @remarks      This method is invoked only in the main thread.
56          */
57         virtual ~IAppSettingEventListener(void) {}
58
59         /**
60          * Called when the application setting is changed.
61          *
62          * @since       2.0
63          *
64          * @param[in]   id              The ID of the application setting whose value is changed
65          *
66          * @remarks     This method is invoked only in the main thread.
67          */
68         virtual void OnAppSettingChanged(const Tizen::Base::String& id) = 0;
69
70 protected:
71         //
72         // This method is for internal use only. Using this method can cause behavioral,
73         // security-related, and consistency-related issues in the application.
74         //
75         // @since       2.0
76         //
77         virtual void IAppSettingEventListener_Reserved1(void) {}
78
79         //
80         // This method is for internal use only. Using this method can cause behavioral,
81         // security-related, and consistency-related issues in the application.
82         //
83         // @since       2.0
84         //
85         virtual void IAppSettingEventListener_Reserved2(void) {}
86
87         //
88         // This method is for internal use only. Using this method can cause behavioral,
89         // security-related, and consistency-related issues in the application.
90         //
91         // @since       2.0
92         //
93         virtual void IAppSettingEventListener_Reserved3(void) {}
94
95 }; // IAppSettingEventListener
96 } } // Tizen::App
97
98 #endif // _FAPP_IAPP_SETTING_EVENT_LISTENER_H_