* Author: lamikr
*/
#include <iostream>
+#include <fstream>
+
#include <time.h>
+#include "W1Store.hh"
#include "W1Device.hh"
using namespace w1;
using namespace std;
-W1Device::W1Device(dirent *direntry, int family_code_param, string id_param) {
+W1Device::W1Device(dirent *direntry,
+ int family_code_param,
+ string id_param) {
string rootdir;
string device_dir;
string temp_str;
dir_path = rootdir + "/" + direntry->d_name;
slave_file = dir_path + "/" + temp_str;
family_code = family_code_param;
- id = id_param;
+ id = id_param;
name = id_param;
}
void W1Device::printout() {
string text;
- text = get_time() + ": device type = <unknown>, id = " + id + ", value = " + get_value();
+ text = get_formatted_value();
cout << text << endl;
}
+
+string W1Device::get_formatted_value() {
+ string ret_val;
+ string val;
+
+ val = get_raw_value();
+ ret_val = get_formatted_value(val);
+ return ret_val;
+}
+
+string W1Device::get_formatted_value(string value) {
+ string ret_val;
+
+ ret_val = get_time() + "|" + get_devicetype_name() + "|" + id + "|" + value + " " + get_unit();
+ add_to_memory_cache(ret_val);
+ return ret_val;
+}
+
+void W1Device::add_to_memory_cache(std::string formatted_data) {
+ // TODO: add mutex for memory_cache
+ memory_cache.push_back(formatted_data);
+}
+
+void W1Device::store() {
+ W1Store::store(id, &memory_cache);
+}