Merge "Apply millisecond of DateTime for Calendar" into tizen_2.1
[platform/framework/native/appfw.git] / inc / FSysIBatteryEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 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        FSysIBatteryEventListener.h
20  * @brief       This is the header file for the %IBatteryEventListener interface.
21  *
22  * This header file contains the declarations of the %IBatteryEventListener interface.
23  */
24
25 #ifndef _FSYS_IBATTERY_EVENT_LISTENER_H_
26 #define _FSYS_IBATTERY_EVENT_LISTENER_H_
27
28 #include <FBaseResult.h>
29 #include <FBaseRtIEventListener.h>
30
31 namespace Tizen { namespace System
32 {
33
34 /**
35  * @interface   IBatteryEventListener
36  * @brief       This interface is the listener of the battery event.
37  *
38  * @since       2.0
39  *
40  * The %IBatteryEventListener interface must be registered and implemented by an application to receive Battery events from the system.
41  */
42
43 class _OSP_EXPORT_ IBatteryEventListener
44         : public virtual Tizen::Base::Runtime::IEventListener
45 {
46 public:
47         /**
48          * 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.
49          *
50          * @since 2.0
51          */
52
53         virtual ~IBatteryEventListener(void) {}
54         /**
55          * Called when the battery level is changed.
56          *
57          * @since       2.0
58          *
59          * @param[in]   percentage      The changed battery level
60          * @remarks     The resolution of the level is @c 5%. The range of the level is @c 0 (Minimum) to @c 100 (Maximum).
61          */
62         virtual void OnBatteryLevelChangedInPercentage(int percentage) = 0;
63
64 protected:
65         //
66         // This method is for internal use only.
67         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
68         //
69         // @since 2.0
70         virtual void OnIBatteryEventListener_Reserved1(void) {};
71
72         //
73         // This method is for internal use only.
74         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
75         //
76         // @since 2.0
77         virtual void OnIBatteryEventListener_Reserved2(void) {};
78
79         //
80         // This method is for internal use only.
81         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
82         //
83         // @since 2.0
84         virtual void OnIBatteryEventListener_Reserved3(void) {};
85
86 }; // IBatteryEventListener
87
88 } } // Tizen::System
89
90 #endif // _FSYS_IALARM_EVENT_LISTENER_H_