Index: ext/libicpf/src/config_base.h
===================================================================
diff -u -r771dac1fbb7608aa92942c6cab7c5c8b0cccb791 -r0d9a4d94a98872815d5840d1bcc4d394d455307c
--- ext/libicpf/src/config_base.h	(.../config_base.h)	(revision 771dac1fbb7608aa92942c6cab7c5c8b0cccb791)
+++ ext/libicpf/src/config_base.h	(.../config_base.h)	(revision 0d9a4d94a98872815d5840d1bcc4d394d455307c)
@@ -13,6 +13,14 @@
 class config_base
 {
 public:
+	/// Actions used when setting value
+	enum actions
+	{
+		action_add,
+		action_replace
+	};
+
+public:
 /** \name File operations */
 /**@{*/
 	/// Reads the xml document from the specified file
@@ -30,8 +38,10 @@
 	/// Closes the search operation
 	virtual void find_close(ptr_t pFindHandle) = 0;
 
-	/// Sets a value for a given key (either adds to or replaces the previous value)
-	virtual void set_value(const tchar_t* pszName, const tchar_t* pszValue, bool bAdd) = 0;
+	/// Sets a value for a given key
+	virtual void set_value(const tchar_t* pszName, const tchar_t* pszValue, actions a=actions::action_add) = 0;
+	/// Clear values for a given property name
+	virtual void clear(const tchar_t* pszName) = 0;
 /**@}*/
 };