Merge "Unchecked GetCharacter func when index is over string length" into tizen_2.2
[platform/framework/native/uifw.git] / inc / FUiITimeChangeEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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 /**
19  * @file                FUiITimeChangeEventListener.h
20  * @brief               This is the header file for the %ITimeChangeEventListener interface.
21  *
22  * This header file contains the declarations of the %ITimeChangeEventListener interface. @n
23  * If a change event is generated, a method of this class is called. @n
24  * So, for tasks related to change events, use the methods of this class.
25  *
26  */
27 #ifndef _FUI_ITIME_CHANGE_EVENT_LISTENER_H_
28 #define _FUI_ITIME_CHANGE_EVENT_LISTENER_H_
29
30 // Includes
31 #include <FBaseRtIEventListener.h>
32 #include <FBaseObject.h>
33
34 namespace Tizen { namespace Ui
35 {
36 class Control;
37 } }
38
39 namespace Tizen {namespace Ui
40 {
41
42 /**
43  * @interface   ITimeChangeEventListener
44  * @brief               This interface implements the listener for the time change events.
45  *
46  * @since               2.0
47  *
48  * The %ITimeChangeEventListener interface is the listener interface for receiving time change events.
49  * The class that processes a time change event implements this interface, and the instance created with that class is registered
50  * with a UI control, using the control's AddTimeChangeEventListener() method. When the time change event occurs, the
51  *  OnTimeChanged() method of that instance is invoked.
52  *
53  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_edittime_editdate.htm">EditDate and EditTime</a> and <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_datepicker.htm">DatePicker, TimePicker, and DateTimePicker</a>.
54
55  */
56 class _OSP_EXPORT_ ITimeChangeEventListener
57         : public Tizen::Base::Runtime::IEventListener
58 {
59 // Operation
60 public:
61         /**
62          * This is the destructor for this class.
63          *
64          * @since                       2.0
65          */
66         virtual ~ITimeChangeEventListener(void) {}
67
68         /**
69          * Called when there is a change in time. @n
70          * The changed hour and minute values are passed as input parameters.
71          *
72          * @since               2.0
73          *
74          * @param[in]   source          The source of the event
75          * @param[in]   hour            The hour
76          * @param[in]   minute          The minute
77          */
78         virtual void OnTimeChanged(const Tizen::Ui::Control& source, int hour, int minute) = 0;
79
80         /**
81         * Called when a time change is canceled.
82         *
83         * @since                2.0
84         *
85         * @param[in]    source          The source of the event
86         */
87         virtual void OnTimeChangeCanceled(const Tizen::Ui::Control& source) = 0;
88
89 protected:
90         //
91         // This method is for internal use only.
92         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
93         //
94         // The following method is reserved, and their names can be changed
95         // at any time without prior notice.
96         //
97         // @since      2.0
98         //
99         virtual void ITimeChangeEventListener_Reserved1(void) {}
100
101         //
102         // This method is for internal use only.
103         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
104         //
105         // The following method is reserved, and their names can be changed
106         // at any time without prior notice.
107         //
108         // @since      2.0
109         //
110         virtual void ITimeChangeEventListener_Reserved2(void) {}
111
112         //
113         // This method is for internal use only.
114         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
115         //
116         // The following method is reserved, and their names can be changed
117         // at any time without prior notice.
118         //
119         // @since      2.0
120         //
121         virtual void ITimeChangeEventListener_Reserved3(void) {}
122 }; // ITimeChangeEventListener
123
124 }} // Tizen::Ui
125
126 #endif // _FUI_ITIME_CHANGE_EVENT_LISTENER_H_