Sample program for config data handling.

Dependencies:   dconfig mbed

Committer:
hillkim7
Date:
Tue Feb 17 14:41:36 2015 +0000
Revision:
0:7cfa4f091512
The dconfig library example.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hillkim7 0:7cfa4f091512 1 /*
hillkim7 0:7cfa4f091512 2 Demo application for the dconfig library for handling app configuration setting.
hillkim7 0:7cfa4f091512 3 */
hillkim7 0:7cfa4f091512 4 #include <stdio.h>
hillkim7 0:7cfa4f091512 5 #include "dconfig.h"
hillkim7 0:7cfa4f091512 6
hillkim7 0:7cfa4f091512 7 class MyConfig : public DConfig
hillkim7 0:7cfa4f091512 8 {
hillkim7 0:7cfa4f091512 9 public:
hillkim7 0:7cfa4f091512 10 virtual void reset_default(void)
hillkim7 0:7cfa4f091512 11 {
hillkim7 0:7cfa4f091512 12 (*this)["tz"] = "9";
hillkim7 0:7cfa4f091512 13 (*this)["name"] = "my_app";
hillkim7 0:7cfa4f091512 14 }
hillkim7 0:7cfa4f091512 15 };
hillkim7 0:7cfa4f091512 16
hillkim7 0:7cfa4f091512 17 static bool save_to_str(void *user_data, char c)
hillkim7 0:7cfa4f091512 18 {
hillkim7 0:7cfa4f091512 19 std::string *buf = (std::string*)user_data;
hillkim7 0:7cfa4f091512 20
hillkim7 0:7cfa4f091512 21 buf->push_back(c);
hillkim7 0:7cfa4f091512 22 return true;
hillkim7 0:7cfa4f091512 23 }
hillkim7 0:7cfa4f091512 24
hillkim7 0:7cfa4f091512 25 int main(int argc, char* argv[])
hillkim7 0:7cfa4f091512 26 {
hillkim7 0:7cfa4f091512 27 MyConfig mycfg;
hillkim7 0:7cfa4f091512 28 std::string serialized_data;
hillkim7 0:7cfa4f091512 29
hillkim7 0:7cfa4f091512 30 // setup initial key & value
hillkim7 0:7cfa4f091512 31 mycfg.reset_default();
hillkim7 0:7cfa4f091512 32
hillkim7 0:7cfa4f091512 33 printf("name=%s\r\n", mycfg.lookup_as_cstr("name", ""));
hillkim7 0:7cfa4f091512 34 printf("tz=%d\r\n", mycfg.lookup_as_int("tz", 0));
hillkim7 0:7cfa4f091512 35
hillkim7 0:7cfa4f091512 36 // save data to serialized_data and clear mycfg
hillkim7 0:7cfa4f091512 37 mycfg.save_to(save_to_str, &serialized_data);
hillkim7 0:7cfa4f091512 38 mycfg.clear();
hillkim7 0:7cfa4f091512 39
hillkim7 0:7cfa4f091512 40 // make sure data is clean
hillkim7 0:7cfa4f091512 41 printf("name=%s\r\n", mycfg.lookup_as_cstr("name", ""));
hillkim7 0:7cfa4f091512 42 printf("tz=%d\r\n", mycfg.lookup_as_int("tz", 0));
hillkim7 0:7cfa4f091512 43
hillkim7 0:7cfa4f091512 44 // restore and see its contents
hillkim7 0:7cfa4f091512 45 mycfg.load_from(serialized_data.c_str(), serialized_data.size());
hillkim7 0:7cfa4f091512 46 printf("name=%s\r\n", mycfg.lookup_as_cstr("name", ""));
hillkim7 0:7cfa4f091512 47 printf("tz=%d\r\n", mycfg.lookup_as_int("tz", 0));
hillkim7 0:7cfa4f091512 48
hillkim7 0:7cfa4f091512 49 return 0;
hillkim7 0:7cfa4f091512 50 }
hillkim7 0:7cfa4f091512 51
hillkim7 0:7cfa4f091512 52