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
32OSDefineMetaClassAndStructors(IOPowerConnection,IOService)
33
34
35// **********************************************************************************
36// setDesiredDomainState
37//
38// Parent of the connection calls here to save the childs desire
39// **********************************************************************************
40void IOPowerConnection::setDesiredDomainState (unsigned long stateNumber )
41{
42 desiredDomainState = stateNumber;
43}
44
45
46// **********************************************************************************
47// getDesiredDomainState
48//
49// **********************************************************************************
50unsigned 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// **********************************************************************************
61void 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// **********************************************************************************
71bool IOPowerConnection::childHasRequestedPower ( void )
72{
73 return requestFlag;
74}
75
76
77// **********************************************************************************
78// setPreventIdleSleepFlag
79//
80// **********************************************************************************
81void IOPowerConnection::setPreventIdleSleepFlag ( unsigned long flag )
82{
83 preventIdleSleepFlag = (flag != 0);
84}
85
86
87// **********************************************************************************
88// getPreventIdleSleepFlag
89//
90// **********************************************************************************
91bool IOPowerConnection::getPreventIdleSleepFlag ( void )
92{
93 return preventIdleSleepFlag;
94}
95
96
97// **********************************************************************************
98// setPreventSystemSleepFlag
99//
100// **********************************************************************************
101void IOPowerConnection::setPreventSystemSleepFlag ( unsigned long flag )
102{
103 preventSystemSleepFlag = (flag != 0);
104}
105
106
107// **********************************************************************************
108// getPreventSystemSleepFlag
109//
110// **********************************************************************************
111bool 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// **********************************************************************************
123void 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// **********************************************************************************
135void IOPowerConnection::setParentCurrentPowerFlags (IOPMPowerFlags flags )
136{
137 currentPowerFlags = flags;
138}
139
140
141// **********************************************************************************
142// parentKnowsState
143//
144// **********************************************************************************
145bool IOPowerConnection::parentKnowsState (void )
146{
147 return stateKnown;
148}
149
150
151// **********************************************************************************
152// parentCurrentPowerFlags
153//
154// **********************************************************************************
155IOPMPowerFlags IOPowerConnection::parentCurrentPowerFlags (void )
156{
157 return currentPowerFlags;
158}
159
160
161// **********************************************************************************
162// setAwaitingAck
163//
164// **********************************************************************************
165void IOPowerConnection::setAwaitingAck ( bool value )
166{
167 awaitingAck = value;
168}
169
170
171// **********************************************************************************
172// getAwaitingAck
173//
174// **********************************************************************************
175bool IOPowerConnection::getAwaitingAck ( void )
176{
177 return awaitingAck;
178}
179
180
181// **********************************************************************************
182// setReadyFlag
183//
184// **********************************************************************************
185void IOPowerConnection::setReadyFlag( bool flag )
186{
187 readyFlag = flag;
188}
189
190
191// **********************************************************************************
192// getReadyFlag
193//
194// **********************************************************************************
195bool IOPowerConnection::getReadyFlag( void ) const
196{
197 return readyFlag;
198}
199