Index: ext/libicpf/src/config_base.h =================================================================== diff -u -N -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; /**@}*/ };