sync with tizen_2.0
[platform/framework/native/appfw.git] / src / system / FSysPowerManager.cpp
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                FSysPowerManager.cpp
20  * @brief               This is the implementation file for PowerManager class.
21  */
22
23 #include <FSysIBatteryEventListener.h>
24 #include <FSysPowerManager.h>
25
26 #include <FBaseSysLog.h>
27 #include <FBase_NativeError.h>
28 #include <FSys_PowerManagerImpl.h>
29 #include <FSec_AccessController.h>
30
31 using namespace Tizen::Security;
32
33 namespace Tizen { namespace System
34 {
35
36 PowerManager::PowerManager(void)
37         :__pPowerManagerImpl(null)
38 {
39 }
40
41 PowerManager::~PowerManager(void)
42 {
43 }
44
45 result
46 PowerManager::KeepScreenOnState(bool keepOn, bool dimming)
47 {
48         result r = E_SUCCESS;
49         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
50         SysTryReturn(NID_SYS, r == E_SUCCESS, E_PRIVILEGE_DENIED, E_PRIVILEGE_DENIED, ("[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method."));
51
52         return _PowerManagerImpl::KeepScreenOnState(keepOn, dimming);
53 }
54
55 result
56 PowerManager::KeepCpuAwake(bool enable)
57 {
58         result r = E_SUCCESS;
59         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
60         SysTryReturn(NID_SYS, r == E_SUCCESS, E_PRIVILEGE_DENIED, E_PRIVILEGE_DENIED, ("[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method."));
61
62         return _PowerManagerImpl::KeepCpuAwake(enable);
63 }
64
65 void
66 PowerManager::SetScreenEventListener(IScreenEventListener& listener)
67 {
68         _PowerManagerImpl::SetScreenEventListener(listener);
69 }
70
71 void
72 PowerManager::SetChargingEventListener(IChargingEventListener& listener)
73 {
74         _PowerManagerImpl::SetChargingEventListener(listener);
75 }
76
77 result
78 PowerManager::RestoreScreenBrightness(void)
79 {
80         return _PowerManagerImpl::RestoreScreenBrightness();
81 }
82 result
83 PowerManager::SetScreenBrightness(int brightness)
84 {
85         result r = E_SUCCESS;
86         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
87         SysTryReturn(NID_SYS, r == E_SUCCESS, E_PRIVILEGE_DENIED, E_PRIVILEGE_DENIED, ("[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method."));
88
89         return _PowerManagerImpl::SetScreenBrightness(brightness);
90 }
91
92 int
93 PowerManager::GetScreenBrightness(void)
94 {
95         return _PowerManagerImpl::GetScreenBrightness();
96 }
97
98 bool
99 PowerManager::IsScreenOn(void)
100 {
101         result r = E_SUCCESS;
102         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
103         SysTryReturn(NID_SYS, r == E_SUCCESS, E_PRIVILEGE_DENIED, E_PRIVILEGE_DENIED, ("[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method."));
104
105         return _PowerManagerImpl::IsScreenOn();
106 }
107
108 result
109 PowerManager::TurnScreenOn(void)
110 {
111         result r = E_SUCCESS;
112         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
113         SysTryReturn(NID_SYS, r == E_SUCCESS, E_PRIVILEGE_DENIED, E_PRIVILEGE_DENIED, ("[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method."));
114
115         return _PowerManagerImpl::TurnScreenOn();
116 }
117
118 result
119 PowerManager::TurnScreenOff(void)
120 {
121         result r = E_SUCCESS;
122         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
123         SysTryReturn(NID_SYS, r == E_SUCCESS, E_PRIVILEGE_DENIED, E_PRIVILEGE_DENIED, ("[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method."));
124
125         return _PowerManagerImpl::TurnScreenOff();
126 }
127
128 int
129 PowerManager::GetCurrentBatteryLevelInPercentage(void)
130 {
131         return _PowerManagerImpl::GetCurrentBatteryLevelInPercentage();
132 }
133
134 BatteryLevel
135 PowerManager::GetCurrentBatteryLevel(void)
136 {
137         return _PowerManagerImpl::GetCurrentBatteryLevel();
138 }
139
140 bool
141 PowerManager::IsCharging(void)
142 {
143         return _PowerManagerImpl::IsCharging();
144 }
145
146 result
147 PowerManager::SetBatteryEventListener(IBatteryEventListener* pListener)
148 {
149         return _PowerManagerImpl::SetBatteryEventListener(pListener);
150 }
151
152 } } //Tizen::System