+void IOPMPowerSource::setTimeRemaining(int val) {
+ OSNumber *n = OSNumber::withNumber(val, 32);
+ setPSProperty(timeRemainingKey, n);
+ n->release();
+}
+
+void IOPMPowerSource::setAmperage(int val) {
+ OSNumber *n = OSNumber::withNumber(val, 32);
+ setPSProperty(amperageKey, n);
+ n->release();
+}
+
+void IOPMPowerSource::setVoltage(unsigned int val) {
+ OSNumber *n = OSNumber::withNumber(val, 32);
+ setPSProperty(voltageKey, n);
+ n->release();
+}
+
+void IOPMPowerSource::setCycleCount(unsigned int val) {
+ OSNumber *n = OSNumber::withNumber(val, 32);
+ setPSProperty(cycleCountKey, n);
+ n->release();
+}
+
+void IOPMPowerSource::setAdapterInfo(int val) {
+ OSNumber *n = OSNumber::withNumber(val, 32);
+ setPSProperty(adapterInfoKey, n);
+ n->release();
+}
+
+void IOPMPowerSource::setLocation(int val) {
+ OSNumber *n = OSNumber::withNumber(val, 32);
+ setPSProperty(locationKey, n);
+ n->release();
+}
+
+void IOPMPowerSource::setErrorCondition(OSSymbol *s) {
+ setPSProperty(errorConditionKey, s);
+}
+
+void IOPMPowerSource::setManufacturer(OSSymbol *s) {
+ setPSProperty(manufacturerKey, s);
+}
+
+void IOPMPowerSource::setModel(OSSymbol *s) {
+ setPSProperty(modelKey, s);
+}
+
+void IOPMPowerSource::setSerial(OSSymbol *s) {
+ setPSProperty(serialKey, s);
+}
+
+void IOPMPowerSource::setLegacyIOBatteryInfo(OSDictionary *d) {
+ setPSProperty(batteryInfoKey, d);
+}
+
+
+
+
+/*******************************************************************************
+ *
+ * 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));
+}
+
+bool IOPMPowerSource::externalChargeCapable(void) {
+ return (kOSBooleanTrue == properties->getObject(externalChargeCapableKey));
+}
+
+bool IOPMPowerSource::batteryInstalled(void) {
+ return (kOSBooleanTrue == properties->getObject(batteryInstalledKey));
+}
+
+bool IOPMPowerSource::isCharging(void) {
+ return (kOSBooleanTrue == properties->getObject(chargingKey));
+}
+
+bool IOPMPowerSource::atWarnLevel(void) {
+ return (kOSBooleanTrue == properties->getObject(warnLevelKey));
+}
+
+bool IOPMPowerSource::atCriticalLevel(void) {
+ return (kOSBooleanTrue == properties->getObject(criticalLevelKey));
+}
+
+unsigned int IOPMPowerSource::currentCapacity(void) {
+ OSNumber *n;
+ n = OSDynamicCast(OSNumber, properties->getObject(currentCapacityKey));
+ if(!n) return 0;
+ else return (unsigned int)n->unsigned32BitValue();
+}
+
+unsigned int IOPMPowerSource::maxCapacity(void) {
+ OSNumber *n;
+ n = OSDynamicCast(OSNumber, properties->getObject(maxCapacityKey));
+ if(!n) return 0;
+ else return (unsigned int)n->unsigned32BitValue();
+}
+
+unsigned int IOPMPowerSource::capacityPercentRemaining(void)