]> git.saurik.com Git - apple/xnu.git/blame - iokit/Kernel/IOPMPowerSource.cpp
xnu-201.42.3.tar.gz
[apple/xnu.git] / iokit / Kernel / IOPMPowerSource.cpp
CommitLineData
1c79356b
A
1/*
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
11 *
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
18 * under the License.
19 *
20 * @APPLE_LICENSE_HEADER_END@
21 */
22
23#include <IOKit/pwr_mgt/IOPMPowerSource.h>
24
25#define super OSObject
26
27OSDefineMetaClassAndStructors(IOPMPowerSource, OSObject)
28
29// **********************************************************************************
30// init
31//
32// **********************************************************************************
33bool IOPMPowerSource::init (unsigned short whichBatteryIndex)
34{
35 if (!super::init ())
36 return false;
37
38 bBatteryIndex = whichBatteryIndex;
39 nextInList = 0;
40
41 return true;
42}
43
44// **********************************************************************************
45// capacityPercentRemaining
46//
47// **********************************************************************************
48unsigned long IOPMPowerSource::capacityPercentRemaining (void)
49{
50 unsigned long percentage = 0;
51
52 if (bMaxCapacity > 0)
53 percentage = (bCurCapacity * 100) / bMaxCapacity;
54
55 // always return a non-zero value unless the real capacity IS zero.
56 if (percentage == 0 && bCurCapacity > 0)
57 percentage = 1;
58
59 return percentage;
60}
61
62// **********************************************************************************
63// atWarnLevel
64//
65// **********************************************************************************
66bool IOPMPowerSource::atWarnLevel (void)
67{
68 return bFlags & kBatteryAtWarn;
69}
70
71// **********************************************************************************
72// acConnected
73//
74// **********************************************************************************
75bool IOPMPowerSource::acConnected (void)
76{
77 return bFlags & kACInstalled;
78}
79
80// **********************************************************************************
81// depleted
82//
83// **********************************************************************************
84bool IOPMPowerSource::depleted (void)
85{
86 return bFlags & kBatteryDepleted;
87}
88
89// **********************************************************************************
90// isInstalled
91//
92// **********************************************************************************
93bool IOPMPowerSource::isInstalled (void)
94{
95 return bFlags & kBatteryInstalled;
96}
97
98// **********************************************************************************
99// isCharging
100//
101// **********************************************************************************
102bool IOPMPowerSource::isCharging (void)
103{
104 return bFlags & kBatteryCharging;
105}
106
107// **********************************************************************************
108// timeRemaining
109//
110// **********************************************************************************
111unsigned long IOPMPowerSource::timeRemaining (void)
112{
113 return bTimeRemaining;
114}
115
116// **********************************************************************************
117// maxCapacity
118//
119// **********************************************************************************
120unsigned long IOPMPowerSource::maxCapacity (void)
121{
122 return bMaxCapacity;
123}
124
125// **********************************************************************************
126// curCapacity
127//
128// **********************************************************************************
129unsigned long IOPMPowerSource::curCapacity (void)
130{
131 return bCurCapacity;
132}
133
134// **********************************************************************************
135// currentDrawn
136//
137// **********************************************************************************
138long IOPMPowerSource::currentDrawn (void)
139{
140 return bCurrent;
141}
142
143// **********************************************************************************
144// voltage
145//
146// **********************************************************************************
147
148unsigned long IOPMPowerSource::voltage (void)
149{
150 return bVoltage;
151}
152
153// **********************************************************************************
154// updateStatus
155//
156// **********************************************************************************
157
158void IOPMPowerSource::updateStatus (void)
159{
160
161}
162
163
164
165
166