Ticket #1027: mythtv-showacpitemperature.patch

File mythtv-showacpitemperature.patch, 2.1 KB (added by arzie@…, 14 years ago)
  • mainserver.cpp

     
    2323
    2424#include <list>
    2525#include <iostream>
     26#include <fstream>
    2627using namespace std;
    2728
    2829#include <sys/stat.h>
     
    38423843    QDomElement mInfo   = pDoc->createElement("MachineInfo");
    38433844    QDomElement storage = pDoc->createElement("Storage"    );
    38443845    QDomElement load    = pDoc->createElement("Load"       );
     3846    QDomElement thermal = pDoc->createElement("Thermal"    );
    38453847    QDomElement guide   = pDoc->createElement("Guide"      );
    38463848
    38473849    root.appendChild (mInfo  );
    38483850    mInfo.appendChild(storage);
    38493851    mInfo.appendChild(load   );
     3852    mInfo.appendChild(thermal);
    38503853    mInfo.appendChild(guide  );
    38513854
    38523855    // drive space   ---------------------
     
    38703873        load.setAttribute("avg3", rgdAverages[2]);
    38713874    }
    38723875
     3876    // ACPI temperature -----------------
     3877    ifstream inp("/proc/acpi/thermal_zone/THRM/temperature");
     3878    std::string msg, temperature;
     3879
     3880    if(inp) {
     3881        inp >> msg >> temperature;
     3882        if(inp)
     3883            temperature += " degrees Celsius";
     3884        else
     3885            temperature = "unknown";
     3886    }
     3887    else
     3888        temperature = "unknown";
     3889
     3890    thermal.setAttribute("temperature", temperature);
     3891       
    38733892    // Guide Data ---------------------
    38743893
    38753894    QDateTime GuideDataThrough;
  • httpstatus.cpp

     
    697697        }
    698698    }
    699699
     700   // ACPI temperature ------------------
     701
     702    node = info.namedItem( "Thermal" );
     703
     704    if (!node.isNull())
     705    {
     706        QDomElement e = node.toElement();
     707
     708        if (!e.isNull())
     709        {
     710            std::string temperature = e.attribute( "temperature" , "0" );
     711
     712            os << "      Current CPU temperature: "
     713               << temperature
     714               << ".<br />\r\n";
     715        }
     716    }
     717       
    700718    // Guide Info ---------------------
    701719
    702720    node = info.namedItem( "Guide" );