Merge "Flow control for DataControl" into tizen_2.1
[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::AddScreenEventListener(listener, true);
69 }
70
71 result
72 PowerManager::AddScreenEventListener(IScreenEventListener& listener)
73 {
74         return _PowerManagerImpl::AddScreenEventListener(listener);
75 }
76
77 result
78 PowerManager::RemoveScreenEventListener(IScreenEventListener& listener)
79 {
80         return _PowerManagerImpl::RemoveScreenEventListener(listener);
81 }
82
83 void
84 PowerManager::SetChargingEventListener(IChargingEventListener& listener)
85 {
86         _PowerManagerImpl::AddChargingEventListener(listener, true);
87 }
88
89 result
90 PowerManager::AddChargingEventListener(IChargingEventListener& listener)
91 {
92         return _PowerManagerImpl::AddChargingEventListener(listener);
93 }
94
95 result
96 PowerManager::RemoveChargingEventListener(IChargingEventListener& listener)
97 {
98         return _PowerManagerImpl::RemoveChargingEventListener(listener);
99 }
100
101 result
102 PowerManager::RestoreScreenBrightness(void)
103 {
104         return _PowerManagerImpl::RestoreScreenBrightness();
105 }
106 result
107 PowerManager::SetScreenBrightness(int brightness)
108 {
109         result r = E_SUCCESS;
110         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
111         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."));
112
113         return _PowerManagerImpl::SetScreenBrightness(brightness);
114 }
115
116 int
117 PowerManager::GetScreenBrightness(void)
118 {
119         return _PowerManagerImpl::GetScreenBrightness();
120 }
121
122 bool
123 PowerManager::IsScreenOn(void)
124 {
125         result r = E_SUCCESS;
126         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
127         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."));
128
129         return _PowerManagerImpl::IsScreenOn();
130 }
131
132 result
133 PowerManager::TurnScreenOn(void)
134 {
135         result r = E_SUCCESS;
136         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
137         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."));
138
139         return _PowerManagerImpl::TurnScreenOn();
140 }
141
142 result
143 PowerManager::TurnScreenOff(void)
144 {
145         result r = E_SUCCESS;
146         r = _AccessController::CheckUserPrivilege(_PRV_POWER);
147         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."));
148
149         return _PowerManagerImpl::TurnScreenOff();
150 }
151
152 int
153 PowerManager::GetCurrentBatteryLevelInPercentage(void)
154 {
155         return _PowerManagerImpl::GetCurrentBatteryLevelInPercentage();
156 }
157
158 BatteryLevel
159 PowerManager::GetCurrentBatteryLevel(void)
160 {
161         return _PowerManagerImpl::GetCurrentBatteryLevel();
162 }
163
164 bool
165 PowerManager::IsCharging(void)
166 {
167         return _PowerManagerImpl::IsCharging();
168 }
169
170 result
171 PowerManager::SetBatteryEventListener(IBatteryEventListener* pListener)
172 {
173         return _PowerManagerImpl::SetBatteryEventListener(pListener);
174 }
175
176 result
177 PowerManager::AddBootEventListener(IBootEventListener& listener)
178 {
179         return _PowerManagerImpl::AddBootEventListener(listener);
180 }
181
182 result
183 PowerManager::RemoveBootEventListener(IBootEventListener& listener)
184 {
185         return _PowerManagerImpl::RemoveBootEventListener(listener);
186 }
187
188 } } //Tizen::System