Merge "[Native][25/11/2013][Add]Adding BigInteger class" into tizen
[platform/framework/native/appfw.git] / inc / FSysIAlarmEventListener.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        FSysIAlarmEventListener.h
19  * @brief       This is the header file for the %IAlarmEventListener interface.
20  *
21  * This header file contains the declarations of the %IAlarmEventListener interface.
22  */
23
24 #ifndef _FSYS_IALARM_EVENT_LISTENER_H_
25 #define _FSYS_IALARM_EVENT_LISTENER_H_
26
27 #include <FBaseResult.h>
28 #include <FBaseRtIEventListener.h>
29
30 namespace Tizen { namespace System
31 {
32
33 class AlarmEvent;
34 class Alarm;
35
36 /**
37  * @interface   IAlarmEventListener
38  * @brief       This interface is the listener of the alarm event.
39  *
40  * @since       2.0
41  *
42  * The %IAlarmEventListener interface must be registered and implemented by an application to receive alarm events from the system.
43  *
44  */
45 class _OSP_EXPORT_ IAlarmEventListener
46         : public virtual Tizen::Base::Runtime::IEventListener
47 {
48 public:
49         /**
50          * This is the destructor for this class. This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
51          *
52          * @since       2.0
53          */
54         virtual ~IAlarmEventListener(void) {}
55
56         /**
57          * Called when the alarm expires.
58          *
59          * @since       2.0
60          *
61          * @param[in]   alarm   The alarm that expires
62          */
63         virtual void OnAlarmExpired(Alarm& alarm) = 0;
64
65 protected:
66         //
67         // This method is for internal use only.
68         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
69         //
70         // This method is reserved and may change its name at any time without prior notice.
71         //
72         // @since 2.0
73         //
74         virtual void OnIAlarmEventListener_Reserved1(void) {};
75
76         //
77         // This method is for internal use only.
78         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
79         //
80         // This method is reserved and may change its name at any time without prior notice.
81         //
82         // @since 2.0
83         virtual void OnIAlarmEventListener_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         // This method is reserved and may change its name at any time without prior notice.
90         //
91         // @since 2.0
92         virtual void OnIAlarmEventListener_Reserved3(void) {};
93
94 }; // IAlarmEventListener
95
96 } } // Tizen::System
97
98 #endif // _FSYS_IALARM_EVENT_LISTENER_H_