Loading...
iokit/Kernel/IOPMPowerSource.cpp xnu-1228.3.13 xnu-792.22.5
--- xnu/xnu-1228.3.13/iokit/Kernel/IOPMPowerSource.cpp
+++ xnu/xnu-792.22.5/iokit/Kernel/IOPMPowerSource.cpp
@@ -132,9 +132,6 @@
     OSObject                        *iteratorKey;
     OSObject                        *obj;
 
-    // do nothing if settings haven't changed
-    if(!settingsChangedSinceUpdate) return;
-
     iterator = OSCollectionIterator::withCollection(properties);
     if(!iterator) return;
 
@@ -149,8 +146,6 @@
     }
     iterator->release();
 
-    settingsChangedSinceUpdate = false;
-
     // And up goes the flare
     messageClients(kIOPMMessageBatteryStatusHasChanged);
 }
@@ -162,140 +157,125 @@
  *
  ******************************************************************************/
  
-void IOPMPowerSource::setPSProperty(const OSSymbol *key, OSObject *val)
-{
-    OSObject    *lastVal;
-    OSNumber    *newNumVal;
-
-    if(!key || !val) return;
-
-    // Compare new setting with existing setting; update 
-    // 'settingsChangedSinceUpdate' if the setting has changed.
-    // If values are OSNumbers, do equality comparison.
-    // Otherwise, just compare pointers.
-    
-    if( (lastVal = properties->getObject(key)) ) {
-        newNumVal = OSDynamicCast(OSNumber, val);
-        if(newNumVal) {
-            if(newNumVal->isEqualTo(lastVal)) {
-                // settings didn't change
-            } else {
-                // num val is not equal to last val
-                settingsChangedSinceUpdate = true;
-            }
-        } else {
-            // pointer compare as last resort
-            if(lastVal != val)
-                settingsChangedSinceUpdate = true;        
-        }
-    } else {
-        // new setting; no last value
-        settingsChangedSinceUpdate = true;
-    }
-    
-    // here's the part where we go crazy.
-    properties->setObject(key, val);
-}
-
-
- 
 void IOPMPowerSource::setExternalConnected(bool b) {
-    setPSProperty(externalConnectedKey,
-            b ? kOSBooleanTrue : kOSBooleanFalse);    
+    properties->setObject(
+                externalConnectedKey,
+                b ? kOSBooleanTrue:kOSBooleanFalse);    
 }
 
 void IOPMPowerSource::setExternalChargeCapable(bool b) {
-    setPSProperty(externalChargeCapableKey,
-            b ? kOSBooleanTrue : kOSBooleanFalse);    
+    properties->setObject(
+                externalChargeCapableKey,
+                b ? kOSBooleanTrue:kOSBooleanFalse);    
 }
 
 void IOPMPowerSource::setBatteryInstalled(bool b) {
-    setPSProperty(batteryInstalledKey,
-            b ? kOSBooleanTrue : kOSBooleanFalse);    
+    properties->setObject(
+                batteryInstalledKey,
+                b ? kOSBooleanTrue:kOSBooleanFalse);    
 }
 
 void IOPMPowerSource::setIsCharging(bool b) {
-    setPSProperty(chargingKey,
-            b ? kOSBooleanTrue : kOSBooleanFalse);    
+    properties->setObject(
+                chargingKey,
+                b ? kOSBooleanTrue:kOSBooleanFalse);    
 }
 
 void IOPMPowerSource::setAtWarnLevel(bool b) {
-    setPSProperty(warnLevelKey,
-            b ? kOSBooleanTrue : kOSBooleanFalse);    
+    properties->setObject(
+                warnLevelKey,
+                b ? kOSBooleanTrue:kOSBooleanFalse);    
 }
 
 void IOPMPowerSource::setAtCriticalLevel(bool b) {
-    setPSProperty(criticalLevelKey,
-            b ? kOSBooleanTrue : kOSBooleanFalse);    
+    properties->setObject(
+                criticalLevelKey,
+                b ? kOSBooleanTrue:kOSBooleanFalse);    
 }
 
 
 void IOPMPowerSource::setCurrentCapacity(unsigned int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(currentCapacityKey, n);
+    properties->setObject(
+                currentCapacityKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setMaxCapacity(unsigned int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(maxCapacityKey, n);
+    properties->setObject(
+                maxCapacityKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setTimeRemaining(int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(timeRemainingKey, n);
+    properties->setObject(
+                timeRemainingKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setAmperage(int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(amperageKey, n);
+    properties->setObject(
+                amperageKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setVoltage(unsigned int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(voltageKey, n);
+    properties->setObject(
+                voltageKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setCycleCount(unsigned int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(cycleCountKey, n);
+    properties->setObject(
+                cycleCountKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setAdapterInfo(int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(adapterInfoKey, n);
+    properties->setObject(
+                adapterInfoKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setLocation(int val) {
     OSNumber *n = OSNumber::withNumber(val, 32);
-    setPSProperty(locationKey, n);
+    properties->setObject(
+                locationKey,
+                n);
     n->release();
 }
 
 void IOPMPowerSource::setErrorCondition(OSSymbol *s) {
-    setPSProperty(errorConditionKey, s);
+    properties->setObject(errorConditionKey, s);
 }
 
 void IOPMPowerSource::setManufacturer(OSSymbol *s) {
-    setPSProperty(manufacturerKey, s);
+    properties->setObject(manufacturerKey, s);
 }
 
 void IOPMPowerSource::setModel(OSSymbol *s) {
-    setPSProperty(modelKey, s);
+    properties->setObject(modelKey, s);
 }
 
 void IOPMPowerSource::setSerial(OSSymbol *s) {
-    setPSProperty(serialKey, s);
+    properties->setObject(serialKey, s);
 }
 
 void IOPMPowerSource::setLegacyIOBatteryInfo(OSDictionary *d) {
-    setPSProperty(batteryInfoKey, d);
+    properties->setObject(batteryInfoKey, d);
 }
 
 
@@ -306,11 +286,6 @@
  * PUBLIC Accessors. All the getters! Boo!
  *
  ******************************************************************************/
-
-OSObject *IOPMPowerSource::getPSProperty(const OSSymbol *symmie) {
-    if(!symmie) return NULL;
-    return properties->getObject(symmie);
-}
 
 bool IOPMPowerSource::externalConnected(void) {
     return (kOSBooleanTrue == properties->getObject(externalConnectedKey));