Tizen 2.1 base
[framework/osp/uifw.git] / inc / FUiCtrlIFrameEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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  * @file        FUiCtrlIFrameEventListener.h
19  * @brief       This is the header file for the %IFrameEventListener interface.
20  *
21  * This header file contains the declarations of the %IFrameEventListener interface. @n
22  * If a frame lifecycle event is generated, a method of this class is called. @n
23  * So, if an application needs to perform tasks related to the frame event, provide the implementation of the methods declared in this interface.
24  */
25
26 #ifndef _FUI_CTRL_IFRAME_EVENT_LISTENER_H_
27 #define _FUI_CTRL_IFRAME_EVENT_LISTENER_H_
28
29 #include <FBaseRtIEventListener.h>
30
31 namespace Tizen { namespace Ui { namespace Controls
32 {
33
34 class Frame;
35
36 /**
37  * @interface   IFrameEventListener
38  * @brief               This interface implements the listener for the frame lifecycle event.
39  *
40  * @since               2.0
41  *
42  * The %IFrameEventListener interface is the listener interface for receiving %Frame lifecycle events.
43  *
44  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_frame.htm">Frame</a>.
45  *
46  */
47 class _OSP_EXPORT_ IFrameEventListener
48         : public Tizen::Base::Runtime::IEventListener
49 {
50 // Lifecycle
51 public:
52         //
53         //This method is for internal use only. Using this method can cause behavioral, security-related,
54         //and consistency-related issues in the application.
55         //
56         virtual ~IFrameEventListener(void) {}
57
58 // Operations
59 public:
60         /**
61          * Called when a Frame instance is about to be destroyed. @n
62          * This method is called just before the system destroys the %Frame instance of an application during the application termination sequence.
63          *
64          * @since               2.0
65          *
66          * @param[in]   source          The source of the event
67          * @remarks     This method releases any resources that need to be deallocated before the destruction of the Frame instance.
68          */
69         virtual void OnFrameTerminating(const Tizen::Ui::Controls::Frame& source) = 0;
70
71         /**
72          * Called when a Frame instance is about to be activated. @n
73          * This method is called just after the system activates the %Frame instance of an application.
74          *
75          * @since 2.0
76          *
77          * @param[in]   source          The source of the event
78           */
79         virtual void OnFrameActivated(const Tizen::Ui::Controls::Frame& source) { }
80
81         /**
82          * Called when a Frame instance is about to be deactivated. @n
83          * This method is called just after the system deactivates the %Frame instance of an application.
84          *
85          * @since 2.0
86          *
87          * @param[in]   source          The source of the event
88          */
89         virtual void OnFrameDeactivated(const Tizen::Ui::Controls::Frame& source) { }
90
91
92         // Reserves
93 protected:
94         //
95         //This method is for internal use only. Using this method can cause behavioral, security-related,
96         //and consistency-related issues in the application.
97         //
98         // This method is reserved and may change its name at any time without
99         // prior notice.
100         //
101         // @since 2.0
102         //
103         virtual void IFrameEventListener_Reserved1(void) { }
104
105         //
106         //This method is for internal use only. Using this method can cause behavioral, security-related,
107         //and consistency-related issues in the application.
108         //
109         // This method is reserved and may change its name at any time without
110         // prior notice.
111         //
112         // @since 2.0
113         //
114         virtual void IFrameEventListener_Reserved2(void) { }
115
116         //
117         //This method is for internal use only. Using this method can cause behavioral, security-related,
118         //and consistency-related issues in the application.
119         //
120         // This method is reserved and may change its name at any time without
121         // prior notice.
122         //
123         // @since 2.0
124         //
125         virtual void IFrameEventListener_Reserved3(void) { }
126
127         //
128         //This method is for internal use only. Using this method can cause behavioral, security-related,
129         //and consistency-related issues in the application.
130         //
131         // This method is reserved and may change its name at any time without
132         // prior notice.
133         //
134         // @since 2.0
135         //
136         virtual void IFrameEventListener_Reserved4(void) { }
137
138         //
139         //This method is for internal use only. Using this method can cause behavioral, security-related,
140         //and consistency-related issues in the application.
141         //
142         // This method is reserved and may change its name at any time without
143         // prior notice.
144         //
145         // @since 2.0
146         //
147         virtual void IFrameEventListener_Reserved5(void) { }
148
149 }; // IFrameEventListener
150
151 }}} // Tizen::Ui::Controls
152
153 #endif // _FUI_CTRL_IFRAME_EVENT_LISTENER_H_