Signed-off-by: Mika Laitio <lamikr@pilppa.org>
Data *DeviceData::find_oldest_data(vector<string> year_vector) {
unsigned int ii;
Data *DeviceData::find_oldest_data(vector<string> year_vector) {
unsigned int ii;
- string year_dir;
- string month_dir;
- vector<string> month_vector;
- vector<string> data_vector;
+ string year_dr;
+ string mon_dr;
+ vector<string> mon_vcr;
+ vector<string> d_vcr;
string f_name;
W1Store *store;
Data *ret_val;
string f_name;
W1Store *store;
Data *ret_val;
ret_val = NULL;
if (year_vector.size() > 0) {
// dirs are alphabetically sorted
ret_val = NULL;
if (year_vector.size() > 0) {
// dirs are alphabetically sorted
- year_dir = year_vector.at(0);
- year_dir = W1Util::concat_paths(device_dir, year_dir);
- month_vector = W1Util::get_subdirectories(year_dir);
- for (ii = 0; ii < month_vector.size(); ii++) {
- month_dir = month_vector.at(ii);
- month_dir = W1Util::concat_paths(year_dir, month_dir);
+ year_dr = year_vector.at(0);
+ year_dr = W1Util::concat_paths(device_dir, year_dr);
+ mon_vcr = W1Util::get_subdirectories(year_dr);
+ for (ii = 0; ii < mon_vcr.size(); ii++) {
+ mon_dr = mon_vcr.at(ii);
+ mon_dr = W1Util::concat_paths(year_dr, mon_dr);
// scan data files from month dir
// scan data files from month dir
- data_vector = W1Util::get_data_files(month_dir);
- if (data_vector.size() > 0) {
- f_name = data_vector.at(0);
- f_name = W1Util::concat_paths(month_dir, f_name);
+ d_vcr = W1Util::get_data_files(mon_dr);
+ if (d_vcr.size() > 0) {
+ f_name = d_vcr.at(0);
+ f_name = W1Util::concat_paths(mon_dr, f_name);
store = new W1Store(f_name);
ret_val = store->get_oldest_data();
delete(store);
store = new W1Store(f_name);
ret_val = store->get_oldest_data();
delete(store);
Data *DeviceData::find_newest_data(vector<string> year_vector) {
int ii;
Data *DeviceData::find_newest_data(vector<string> year_vector) {
int ii;
- string year_dir;
- string month_dir;
- vector<string> month_vector;
- vector<string> data_vector;
+ string year_dr;
+ string mon_dr;
+ vector<string> mon_vcr;
+ vector<string> d_vcr;
string f_name;
Data *ret_val;
int size;
string f_name;
Data *ret_val;
int size;
size = year_vector.size();
if (size > 0) {
// dirs are alphabetically sorted
size = year_vector.size();
if (size > 0) {
// dirs are alphabetically sorted
- year_dir = year_vector.at(size - 1);
- year_dir = W1Util::concat_paths(device_dir, year_dir);
- month_vector = W1Util::get_subdirectories(year_dir);
- for (ii = month_vector.size() - 1; ii >= 0; ii--) {
- month_dir = month_vector.at(ii);
- month_dir = W1Util::concat_paths(year_dir, month_dir);
+ year_dr = year_vector.at(size - 1);
+ year_dr = W1Util::concat_paths(device_dir, year_dr);
+ mon_vcr = W1Util::get_subdirectories(year_dr);
+ for (ii = mon_vcr.size() - 1; ii >= 0; ii--) {
+ mon_dr = mon_vcr.at(ii);
+ mon_dr = W1Util::concat_paths(year_dr, mon_dr);
// scan data files from month dir
// scan data files from month dir
- data_vector = W1Util::get_data_files(month_dir);
- size = data_vector.size();
+ d_vcr = W1Util::get_data_files(mon_dr);
+ size = d_vcr.size();
- f_name = data_vector.at(size - 1);
- f_name = W1Util::concat_paths(month_dir, f_name);
+ f_name = d_vcr.at(size - 1);
+ f_name = W1Util::concat_paths(mon_dr, f_name);
store = new W1Store(f_name);
ret_val = store->get_newest_data();
delete(store);
store = new W1Store(f_name);
ret_val = store->get_newest_data();
delete(store);
DataRange *DeviceData::get_hourly_summary(Date *start_date,
Date *end_date) {
DataRange *DeviceData::get_hourly_summary(Date *start_date,
Date *end_date) {
- DataRange *ret_val;
- vector<Data *> dta_list;
- Data *data;
- Date *date;
+ DataRange *ret_val;
+ vector<Data *> dta_list;
+ Data *data;
+ Date *date;
+ vector<Data *>::iterator iter;
ret_val = NULL;
date = start_date->clone();
while(date->before(*end_date)) {
dta_list = get_hourly_summary(date);
ret_val = NULL;
date = start_date->clone();
while(date->before(*end_date)) {
dta_list = get_hourly_summary(date);
- for(vector<Data *>::iterator list_iter = dta_list.begin(); list_iter != dta_list.end(); list_iter++) {
- data = (Data *)*list_iter;
+ for(iter = dta_list.begin(); iter != dta_list.end(); iter++) {
+ data = (Data *)*iter;
if (data != NULL) {
if (ret_val == NULL) {
ret_val = new DataRange(*data);
if (data != NULL) {
if (ret_val == NULL) {
ret_val = new DataRange(*data);
-string W1CounterDevice::get_raw_value() {
+string W1CounterDevice::get_raw_data() {
string ret_val;
string value_line;
int pos;
string ret_val;
string value_line;
int pos;
std::string device_id_param,
dirent *direntry_param);
virtual ~W1CounterDevice();
std::string device_id_param,
dirent *direntry_param);
virtual ~W1CounterDevice();
- std::string get_raw_value();
+ std::string get_raw_data();
std::string get_unit();
std::string get_device_type();
protected:
std::string get_unit();
std::string get_device_type();
protected:
void W1Device::printout() {
string text;
void W1Device::printout() {
string text;
- text = get_formatted_value();
+ text = get_formatted_data();
-string W1Device::get_formatted_value() {
+string W1Device::get_formatted_data() {
string ret_val;
string val;
string ret_val;
string val;
- val = get_raw_value();
- ret_val = get_formatted_value(val);
+ val = get_raw_data();
+ ret_val = get_formatted_data(val);
-string W1Device::get_formatted_value(string value) {
+string W1Device::get_formatted_data(string raw_data) {
- ret_val = get_time() + "|" + value + " " + get_unit();
+ ret_val = get_time() + "|" + raw_data + " " + get_unit();
add_to_memory_cache(ret_val);
return ret_val;
}
add_to_memory_cache(ret_val);
return ret_val;
}
std::string get_id();
std::string get_name();
void set_name(std::string name_param);
std::string get_id();
std::string get_name();
void set_name(std::string name_param);
- virtual std::string get_raw_value() = 0;
- std::string get_formatted_value();
+ virtual std::string get_raw_data() = 0;
+ std::string get_formatted_data();
virtual std::string get_unit() = 0;
virtual std::string get_device_type() = 0;
std::string get_time();
virtual std::string get_unit() = 0;
virtual std::string get_device_type() = 0;
std::string get_time();
virtual void store();
protected:
void add_to_memory_cache(std::string formatted_data);
virtual void store();
protected:
void add_to_memory_cache(std::string formatted_data);
- std::string get_formatted_value(std::string value);
+ std::string get_formatted_data(std::string raw_data);
virtual bool is_supported_family_code(int family_code) = 0;
int family_code;
std::string id;
virtual bool is_supported_family_code(int family_code) = 0;
int family_code;
std::string id;
-void W1Store::store(std::string device_id,
- std::list<std::string> *string_list) {
+void W1Store::store(string device_id,
+ list<string> *string_list) {
string f_path;
string line;
ofstream *ostream;
string f_path;
string line;
ofstream *ostream;
-string W1TemperatureSensor::get_raw_value() {
+string W1TemperatureSensor::get_raw_data() {
string temp;
string ret_val;
string last_line;
string temp;
string ret_val;
string last_line;
std::string device_id_param,
dirent *direntry_param);
virtual ~W1TemperatureSensor();
std::string device_id_param,
dirent *direntry_param);
virtual ~W1TemperatureSensor();
- std::string get_raw_value();
+ std::string get_raw_data();
std::string get_unit();
std::string get_device_type();
protected:
std::string get_unit();
std::string get_device_type();
protected:
}
int main(int argc, char** argv) {
}
int main(int argc, char** argv) {
- list<W1Device *> device_list;
- int round;
- long scan_interval;
- long store_interval;
- string loc;
- W1Device *device;
+ list<W1Device *> device_list;
+ int round;
+ long scan_interval;
+ long store_interval;
+ string loc;
+ W1Device *device;
+ list<W1Device *>::iterator iter;
// default values than can be overwritten with parameters
loc = "/tmp/w1data";
// default values than can be overwritten with parameters
loc = "/tmp/w1data";
if (device_list.size() > 0) {
while(1) {
round++;
if (device_list.size() > 0) {
while(1) {
round++;
- for(list<W1Device *>::iterator list_iter = device_list.begin(); list_iter != device_list.end(); list_iter++) {
- device = (W1Device *)*list_iter;
+ for(iter = device_list.begin(); iter != device_list.end(); iter++) {
+ device = (W1Device *)*iter;
device->printout();
sleep(1);
if (round >= store_interval) {
device->printout();
sleep(1);
if (round >= store_interval) {