mbed_controller / dconfig

Dependents:   dconfig_demo mbed_controller_demo

Revision:
2:989178d925e9
Parent:
1:4f7c80fbd4a1
--- a/dconfig.h	Tue Feb 24 15:48:43 2015 +0000
+++ b/dconfig.h	Wed Mar 25 21:04:58 2015 +0000
@@ -49,6 +49,12 @@
 class DConfig : public std::map<std::string, std::string>
 {
 public:
+	DConfig(char kv_delimiter='=', char item_delimiter='\n')
+		: kv_delimiter_(kv_delimiter)
+		, item_delimiter_(item_delimiter)
+	{
+	}
+	
     /** lookup value by key and return value as int if a key exists. */
     int lookup_as_int(const std::string &key_name, int default_value) const;
 
@@ -68,17 +74,17 @@
     bool value_replace(const std::string &key_name, int value);
 
     /** load key & value pairs from memory.
-    * The delimiters are same as them used in the load_from().
-    * @param kv_delimiter delimiter char between key and value.
-    * @param item_delimiter delimiter char between items.
-    */
-    bool load_from(const char *ptr, size_t ptr_len, char kv_delimiter='=', char item_delimiter='\n');
+     * The delimiters are same as them used in the load_from().
+     */
+    bool load_from(const char *ptr, size_t ptr_len);
 
     /** save all key & value pairs by calling callback function.
-    * @param kv_delimiter delimiter char between key and value.
-    * @param item_delimiter delimiter char between items.
     */
-    bool save_to(DConfigOutput_t func, void *user_data, char kv_delimiter='=', char item_delimiter='\n') const;
+    bool save_to(DConfigOutput_t func, void *user_data) const;
+
+
+    /** print all item into the stdout */
+	void print_all(void) const;
 
     /** estimate number of bytes for saving */
     size_t estimate_save(void) const;
@@ -93,5 +99,12 @@
     virtual void reset_default(void)
     {
     }
+
+protected:
+	/// kv_delimiter delimiter char between key and value.
+	char kv_delimiter_;
+	/// item_delimiter delimiter char between items.
+	char item_delimiter_;
 };
 
+