Какао получает статус адаптера питания - PullRequest
1 голос
/ 29 декабря 2010

В настоящее время я работаю с приложением резервного копирования, и я получил много запросов на добавление функций, которые недавно были добавлены, и верхний из них - добавление флажка «Резервное копирование при питании от батареи», например Time Machine есть.

Итак, есть ли способ узнать состояние адаптера питания (подключен и подключен)? Я предполагаю, что если бы у кого-то был настольный Mac, такой как iMac и т. Д., Я бы, вероятно, просто подключился все время. Поэтому мне нужны средства определения, является ли компьютер портативным или нет.

Я предполагаю, что IOKit будет библиотекой для просмотра, но я просто не смог найти ничего в документах, которые в любом случае едва ли существуют в этой платформе. Тогда, поскольку это более старая Carbon Framework, есть ли способ зарегистрировать обратный вызов, который вызывается при изменении этого состояния питания? Таким образом, я могу правильно реализовать функциональность этого флажка.

Буду признателен за разъяснение этого вопроса.

1 Ответ

1 голос
/ 29 декабря 2010

IOPowerSources.h имеет функции, которые вам нужны.Начните с IOPSNotificationCreateRunLoopSource(), чтобы создать источник цикла выполнения, и в обратном вызове запросите информацию об источнике питания, начиная с IOPSCopyPowerSourcesInfo() и продолжая свой путь.Могут быть и лучшие примеры, но этот файл кажется разумной демонстрацией того, как это делается;достаточно, чтобы начать.

...