示例#1
0
/*!
  \internal */
bool NeoBattery::isCharging()
{

    qLog(PowerManagement) << __PRETTY_FUNCTION__;
    QString chargeFile;
    if (QFileInfo("/sys/devices/platform/bq27000-battery.0/power_supply/bat/status").exists()) {
         //freerunner
        chargeFile = "/sys/devices/platform/bq27000-battery.0/power_supply/bat/status";
    }


    QString charge;

    QFile chargeState( chargeFile);
    chargeState.open(QIODevice::ReadOnly | QIODevice::Text);
    QTextStream in(&chargeState);
    in >> charge;
    qLog(PowerManagement) << __PRETTY_FUNCTION__ << charge;
// Charging  Discharging  Not charging
// ac        battery      ac/full
    chargeState.close();
    if (charge != ("Discharging")) {
        return true;
    }

    return false;
}
示例#2
0
bool NeoHardware::getCableStatus()
{
    // These code from NeoBattery::isCharging()
    // Seems better than the origin method
    qLog(PowerManagement) << __PRETTY_FUNCTION__;
    QString charge;
    QFile chargeState("/sys/class/power_supply/battery/status");
    chargeState.open(QIODevice::ReadOnly | QIODevice::Text);
    QTextStream in(&chargeState);
    in >> charge;
    qLog(PowerManagement) << __PRETTY_FUNCTION__ << charge;
    // Charging  Discharging  Not charging
    // ac        battery      ac/full
    chargeState.close();
    return (charge != ("Discharging"));
}