]> git.saurik.com Git - apple/xnu.git/blob - iokit/Kernel/IOPowerConnection.cpp
xnu-2050.18.24.tar.gz
[apple/xnu.git] / iokit / Kernel / IOPowerConnection.cpp
1 /*
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28
29 #include <IOKit/pwr_mgt/IOPowerConnection.h>
30
31 #define super IOService
32 OSDefineMetaClassAndStructors(IOPowerConnection,IOService)
33
34
35 // **********************************************************************************
36 // setDesiredDomainState
37 //
38 // Parent of the connection calls here to save the childs desire
39 // **********************************************************************************
40 void IOPowerConnection::setDesiredDomainState (unsigned long stateNumber )
41 {
42 desiredDomainState = stateNumber;
43 }
44
45
46 // **********************************************************************************
47 // getDesiredDomainState
48 //
49 // **********************************************************************************
50 unsigned long IOPowerConnection::getDesiredDomainState ( void )
51 {
52 return desiredDomainState;
53 }
54
55
56 // **********************************************************************************
57 // setChildHasRequestedPower
58 //
59 // Parent of the connection calls here when the child requests power
60 // **********************************************************************************
61 void IOPowerConnection::setChildHasRequestedPower ( void )
62 {
63 requestFlag = true;
64 }
65
66 // **********************************************************************************
67 // childHasRequestedPower
68 //
69 // Parent of the connection calls here when the child requests power
70 // **********************************************************************************
71 bool IOPowerConnection::childHasRequestedPower ( void )
72 {
73 return requestFlag;
74 }
75
76
77 // **********************************************************************************
78 // setPreventIdleSleepFlag
79 //
80 // **********************************************************************************
81 void IOPowerConnection::setPreventIdleSleepFlag ( unsigned long flag )
82 {
83 preventIdleSleepFlag = (flag != 0);
84 }
85
86
87 // **********************************************************************************
88 // getPreventIdleSleepFlag
89 //
90 // **********************************************************************************
91 bool IOPowerConnection::getPreventIdleSleepFlag ( void )
92 {
93 return preventIdleSleepFlag;
94 }
95
96
97 // **********************************************************************************
98 // setPreventSystemSleepFlag
99 //
100 // **********************************************************************************
101 void IOPowerConnection::setPreventSystemSleepFlag ( unsigned long flag )
102 {
103 preventSystemSleepFlag = (flag != 0);
104 }
105
106
107 // **********************************************************************************
108 // getPreventSystemSleepFlag
109 //
110 // **********************************************************************************
111 bool IOPowerConnection::getPreventSystemSleepFlag ( void )
112 {
113 return preventSystemSleepFlag;
114 }
115
116
117 // **********************************************************************************
118 // setParentKnowsState
119 //
120 // Child of the connection calls here to set its reminder that the parent does
121 // or does not yet know the state if its domain.
122 // **********************************************************************************
123 void IOPowerConnection::setParentKnowsState (bool flag )
124 {
125 stateKnown = flag;
126 }
127
128
129 // **********************************************************************************
130 // setParentCurrentPowerFlags
131 //
132 // Child of the connection calls here to save what the parent says
133 // is the state if its domain.
134 // **********************************************************************************
135 void IOPowerConnection::setParentCurrentPowerFlags (IOPMPowerFlags flags )
136 {
137 currentPowerFlags = flags;
138 }
139
140
141 // **********************************************************************************
142 // parentKnowsState
143 //
144 // **********************************************************************************
145 bool IOPowerConnection::parentKnowsState (void )
146 {
147 return stateKnown;
148 }
149
150
151 // **********************************************************************************
152 // parentCurrentPowerFlags
153 //
154 // **********************************************************************************
155 IOPMPowerFlags IOPowerConnection::parentCurrentPowerFlags (void )
156 {
157 return currentPowerFlags;
158 }
159
160
161 // **********************************************************************************
162 // setAwaitingAck
163 //
164 // **********************************************************************************
165 void IOPowerConnection::setAwaitingAck ( bool value )
166 {
167 awaitingAck = value;
168 }
169
170
171 // **********************************************************************************
172 // getAwaitingAck
173 //
174 // **********************************************************************************
175 bool IOPowerConnection::getAwaitingAck ( void )
176 {
177 return awaitingAck;
178 }
179
180
181 // **********************************************************************************
182 // setReadyFlag
183 //
184 // **********************************************************************************
185 void IOPowerConnection::setReadyFlag( bool flag )
186 {
187 readyFlag = flag;
188 }
189
190
191 // **********************************************************************************
192 // getReadyFlag
193 //
194 // **********************************************************************************
195 bool IOPowerConnection::getReadyFlag( void ) const
196 {
197 return readyFlag;
198 }