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 } 199