1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
//
// Copyright (c) 1997 by Mike Romberg ( romberg@fsl.noaa.gov )
//
// This file may be distributed under terms of the GPL
//
//
// $Id: btrymeter.cc,v 1.5 1999/01/23 18:34:26 mromberg Exp $
//
#include "btrymeter.h"
#include "xosview.h"
#include <fstream.h>
#include <stdlib.h>
static const char APMFILENAME[] = "/proc/apm";
BtryMeter::BtryMeter( XOSView *parent )
: FieldMeter( parent, 2, "BTRY", "AVAIL/USED", 1, 1, 0 ){
}
BtryMeter::~BtryMeter( void ){
}
void BtryMeter::checkResources( void ){
FieldMeter::checkResources();
setfieldcolor( 0, parent_->getResource( "batteryLeftColor" ) );
setfieldcolor( 1, parent_->getResource( "batteryUsedColor" ) );
priority_ = atoi (parent_->getResource( "batteryPriority" ) );
SetUsedFormat(parent_->getResource( "batteryUsedFormat" ) );
}
void BtryMeter::checkevent( void ){
getpwrinfo();
drawfields();
}
void BtryMeter::getpwrinfo( void ){
ifstream loadinfo( APMFILENAME );
if ( !loadinfo ){
cerr <<"Can not open file : " <<APMFILENAME <<endl;
parent_->done(1);
return;
}
char buff[256];
loadinfo >> buff >> buff >> buff >> buff >> buff >> buff >> fields_[0];
total_ = 100;
fields_[1] = total_ - fields_[0];
setUsed (fields_[0], total_);
}
|