Merge "[2.2.1] Apply reviewed header file (Base to Collection)" into tizen_2.2
[platform/framework/native/appfw.git] / inc / FAppIActiveAppEventListener.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        FAppIActiveAppEventListener.h
18  * @brief       This is the header file for the %IActiveAppEventListener interface.
19  *
20  * This header file contains the declarations of the %IActiveAppEventListener interface.
21  */
22
23 #ifndef _FAPP_IACTIVE_APP_EVENT_LISTENER_H_
24 #define _FAPP_IACTIVE_APP_EVENT_LISTENER_H_
25
26 #include <FBaseTypes.h>
27 #include <FAppTypes.h>
28 #include <FBaseRtIEventListener.h>
29
30
31 namespace Tizen { namespace App
32 {
33
34 /**
35  * @interface   IActiveAppEventListener
36  * @brief               This interface is the listener interface for receiving the ID of an active application.
37  *
38  * @since       2.0
39  *
40  * The %IActiveAppEventListener interface is the listener interface for receiving the active application change events.
41  * The class that processes an active application change event implements this interface and registers it using
42  * the AppManager::AddActiveAppEventListener() method.
43  *
44  */
45 class _OSP_EXPORT_ IActiveAppEventListener
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          */
56         virtual ~IActiveAppEventListener(void) {}
57
58         /**
59          * Called when the active application is changed.
60          *
61          * @since       2.0
62          *
63          * @param[in]   appId           The ID of the active application
64          */
65         virtual void OnActiveAppChanged(const AppId& appId) = 0;
66
67 protected:
68         //
69         // This method is for internal use only. Using this method can cause behavioral,
70         // security-related, and consistency-related issues in the application.
71         //
72         // @since       2.0
73         //
74         virtual void IActiveAppEventListener_Reserved1(void) {}
75
76         //
77         // This method is for internal use only. Using this method can cause behavioral,
78         // security-related, and consistency-related issues in the application.
79         //
80         // @since       2.0
81         //
82         virtual void IActiveAppEventListener_Reserved2(void) {}
83
84         //
85         // This method is for internal use only. Using this method can cause behavioral,
86         // security-related, and consistency-related issues in the application.
87         //
88         // @since       2.0
89         //
90         virtual void IActiveAppEventListener_Reserved3(void) {}
91
92 }; // IActiveAppEventListener
93 } } // Tizen::App
94
95 #endif // _FAPP_IACTIVE_APP_EVENT_LISTENER_H_