Enable build with iniparser v 3.1
[platform/framework/native/appfw.git] / inc / FAppIAppCheckPointEventListener.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 /**
18  * @file                FAppIAppCheckPointEventListener.h
19  * @brief               This is the header file for the %IAppCheckpointEventListener interface.
20  *
21  * This header file contains the declarations of the %IAppCheckpointEventListener interface. @n
22  * If a checkpoint event is generated, a method of this interface is called.
23  */
24
25 #ifndef _FAPP_IAPP_CHECK_POINT_EVENT_LISTENER_H_
26 #define _FAPP_IAPP_CHECK_POINT_EVENT_LISTENER_H_
27
28 #include <FBaseRtIEventListener.h>
29
30 namespace Tizen { namespace App
31 {
32
33 class AppRegistry;
34
35 /**
36  * @interface IAppCheckpointEventListener
37  * @brief       This interface defines the listener for a checkpoint event.
38  *
39  * @since       2.0
40  *
41  * The %IAppCheckpointEventListener interface is used for receiving a checkpoint event.
42  * The event is fired when the system is about to terminate an application due to reasons such as, low memory or when another application
43  * is being launched.
44  * @n
45  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/basics_tizen_programming/tizen_app_model/multitasking_in_tizen.htm">Multitasking in Tizen</a>.
46  *
47  */
48 class _OSP_EXPORT_ IAppCheckpointEventListener
49         : virtual public Tizen::Base::Runtime::IEventListener
50 {
51 public:
52         /**
53          * This polymorphic destructor should be overridden if required. @n
54          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
55          *
56          * @since       2.0
57          */
58         virtual ~IAppCheckpointEventListener(void) {}
59
60         /**
61          * Called when a checkpoint event occurs.
62          *
63          * @since                       2.0
64          * @param[in]   appRegistry      The application's registry
65          */
66         virtual void OnAppCheckpointing(AppRegistry& appRegistry) = 0;
67
68 protected:
69         //
70         // This method is for internal use only.
71         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
72         //
73         // @since           2.0
74         //
75         virtual void IAppCheckpointEventListener_Reserved1(void) {}
76
77         //
78         // This method is for internal use only.
79         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
80         //
81         // @since           2.0
82         //
83         virtual void IAppCheckpointEventListener_Reserved2(void) {}
84
85         //
86         // This method is for internal use only.
87         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
88         //
89         // @since           2.0
90         //
91         virtual void IAppCheckpointEventListener_Reserved3(void) {}
92
93 }; // IAppCheckpointEventListener
94
95 } } // Tizen::App
96
97 #endif  //_FAPP_IAPP_CHECK_POINT_EVENT_LISTENER_H_