X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/9bccf70c0258c7cac2dcb80011b2a964d884c552..813fb2f63a553c957e917ede5f119b021d6ce391:/iokit/Kernel/IOPMPowerSourceList.cpp diff --git a/iokit/Kernel/IOPMPowerSourceList.cpp b/iokit/Kernel/IOPMPowerSourceList.cpp index dc6c949fe..a933ebf76 100644 --- a/iokit/Kernel/IOPMPowerSourceList.cpp +++ b/iokit/Kernel/IOPMPowerSourceList.cpp @@ -1,23 +1,29 @@ /* * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. * - * @APPLE_LICENSE_HEADER_END@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ #include #include @@ -26,54 +32,61 @@ #define super OSObject OSDefineMetaClassAndStructors(IOPMPowerSourceList,OSObject) -//********************************************************************************* +//****************************************************************************** // init // -//********************************************************************************* +//****************************************************************************** void IOPMPowerSourceList::initialize ( void ) { firstItem = NULL; length = 0; } -//********************************************************************************* +//****************************************************************************** // addToList // -//********************************************************************************* +//****************************************************************************** -IOReturn IOPMPowerSourceList::addToList ( IOPMPowerSource * newPowerSource ) +IOReturn IOPMPowerSourceList::addToList(IOPMPowerSource *newPowerSource) { IOPMPowerSource * nextPowerSource; - nextPowerSource = firstItem; // Is new object already in the list? - while ( nextPowerSource != NULL ) { - if ( nextPowerSource == newPowerSource ) { - return IOPMNoErr; // yes, just return + + // Is new object already in the list? + nextPowerSource = firstItem; + while ( nextPowerSource != NULL ) + { + if ( nextPowerSource == newPowerSource ) + { + // yes, just return + return IOPMNoErr; } nextPowerSource = nextInList(nextPowerSource); } - newPowerSource->nextInList = firstItem; // add it to list + + // add it to list + newPowerSource->nextInList = firstItem; firstItem = newPowerSource; - length += 1; + length++; return IOPMNoErr; } -//********************************************************************************* +//****************************************************************************** // firstInList // -//********************************************************************************* +//****************************************************************************** IOPMPowerSource * IOPMPowerSourceList::firstInList ( void ) { return firstItem; } -//********************************************************************************* +//****************************************************************************** // nextInList // -//********************************************************************************* +//****************************************************************************** -IOPMPowerSource * IOPMPowerSourceList::nextInList ( IOPMPowerSource * currentItem ) +IOPMPowerSource * IOPMPowerSourceList::nextInList(IOPMPowerSource *currentItem) { if ( currentItem != NULL ) { return (currentItem->nextInList); @@ -81,54 +94,56 @@ IOPMPowerSource * IOPMPowerSourceList::nextInList ( IOPMPowerSource * currentIte return NULL; } -//********************************************************************************* +//****************************************************************************** // numberOfItems // -//********************************************************************************* +//****************************************************************************** unsigned long IOPMPowerSourceList::numberOfItems ( void ) { return length; } -//********************************************************************************* +//****************************************************************************** // removeFromList // // Find the item in the list, unlink it, and free it. -//********************************************************************************* +//****************************************************************************** IOReturn IOPMPowerSourceList::removeFromList ( IOPMPowerSource * theItem ) { IOPMPowerSource * item = firstItem; IOPMPowerSource * temp; - if ( item != NULL ) { - if ( item == theItem ) { - firstItem = item->nextInList; + if ( NULL == item) goto exit; + + if ( item == theItem ) { + firstItem = item->nextInList; + length--; + item->release(); + return IOPMNoErr; + } + while ( item->nextInList != NULL ) { + if ( item->nextInList == theItem ) { + temp = item->nextInList; + item->nextInList = temp->nextInList; length--; - item->release(); + temp->release(); return IOPMNoErr; } - while ( item->nextInList != NULL ) { - if ( item->nextInList == theItem ) { - temp = item->nextInList; - item->nextInList = temp->nextInList; - length--; - temp->release(); - return IOPMNoErr; - } - item = item->nextInList; - } + item = item->nextInList; } + +exit: return IOPMNoErr; } -//********************************************************************************* +//****************************************************************************** // free // // Free all items in the list, and then free the list itself -//********************************************************************************* +//****************************************************************************** void IOPMPowerSourceList::free (void ) { @@ -140,7 +155,7 @@ void IOPMPowerSourceList::free (void ) next->release(); next = firstItem; } -super::free(); + super::free(); }