X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=src%2FW1DataList.cc;h=3e7743ba0fc96bdc84822a3571d4b27d331390b6;hb=5e4bcec460603b9755094ddc1fe8408fdba11eb6;hp=949454cf3aa0bb2935bb1f3b2e2878b636be79f9;hpb=21d3705e57368912ca54dc818258a922c9b781af;p=lib1wire.git diff --git a/src/W1DataList.cc b/src/W1DataList.cc index 949454c..3e7743b 100644 --- a/src/W1DataList.cc +++ b/src/W1DataList.cc @@ -33,7 +33,7 @@ W1DataList::~W1DataList() { //delete(device_dir); } -Data *W1DataList::find_first_data(vector year_vector) { +Data *W1DataList::find_oldest_data(vector year_vector) { int ii; string year_dir; string month_dir; @@ -58,7 +58,7 @@ Data *W1DataList::find_first_data(vector year_vector) { f_name = data_vector.at(0); f_name = W1Util::concat_paths(month_dir, f_name); store = new W1Store(f_name); - ret_val = store->load_first_data_row(); + ret_val = store->get_oldest_data(); delete(store); break; } @@ -67,7 +67,7 @@ Data *W1DataList::find_first_data(vector year_vector) { return ret_val; } -Data *W1DataList::find_last_data(vector year_vector) { +Data *W1DataList::find_newest_data(vector year_vector) { int ii; string year_dir; string month_dir; @@ -95,7 +95,7 @@ Data *W1DataList::find_last_data(vector year_vector) { f_name = data_vector.at(size - 1); f_name = W1Util::concat_paths(month_dir, f_name); store = new W1Store(f_name); - ret_val = store->load_last_data_row(); + ret_val = store->get_newest_data(); delete(store); break; } @@ -110,32 +110,22 @@ DataRange *W1DataList::get_data_range() { struct dirent *year_dirent; vector year_list; Data *first_data; - Data *last_data; + Data *newest_data; ret_val = NULL; year_list = W1Util::get_subdirectories(device_dir); - first_data = find_first_data(year_list); + first_data = find_oldest_data(year_list); if (first_data != NULL) { - last_data = find_last_data(year_list); - if (last_data != NULL) { + newest_data = find_newest_data(year_list); + if (newest_data != NULL) { ret_val = new DataRange(*first_data); - ret_val->add_data(*last_data); - delete(last_data); + ret_val->add_data(*newest_data); + delete(newest_data); } delete(first_data); } return ret_val; } -/* -long int get_date_as_seconds(struct tm *date) { - long int ret_val; - - ret_val = date->tm - date->tm_hour * 3600 + - date->tm_min * 60 + - date->tm_sec; -} -*/ long int get_interval_type(Date *start_date, Date *end_date) { @@ -185,56 +175,34 @@ string W1DataList::get_day_data(Date *date) { } Data *W1DataList::get_avg_day_data(Date *date) { - return NULL; -} + Data *data; + W1Store *store; -/* -time_t to_seconds2(const char *date) -{ - struct tm storage={0,0,0,0,0,0,0,0,0}; - char *p=NULL; - time_t retval=0; + store = new W1Store(device_id, date); + store->load(); + data = store->get_mean(); + data->printout(); + delete(store); - p=(char *)strptime(date,"%d-%b-%Y",&storage); - if(p==NULL) { - retval=0; - } - else - { - errno = 0; - retval =mktime(&storage); - if (retval == ((time_t)-1)) { - log_error("Error2 converting struct tm to seconds: %s\n", strerror(errno)); - } - else { - log_debug("succ2: %ld\n", retval); - } - } - return retval; + return data; } -*/ DataRange *W1DataList::get_avg_day_data(Date *start_date, Date *end_date) { DataRange *ret_val; Data *data; - W1Store *store; Date *date; ret_val = NULL; date = start_date->clone(); while(date->before(*end_date)) { - store = new W1Store(device_id, date); - store->load(); - data = store->get_mean(); - data->printout(); + data = get_avg_day_data(date); if (ret_val == NULL) { ret_val = new DataRange(*data); } else { ret_val->add_data(*data); } - delete(store); delete(data); date->tomorrow(); }