Index: ext/libicpf/src/libicpf/cfg.cpp =================================================================== diff -u -N -r6e13958c3d83047ec29e5a703d8982025eb22304 -r3b516fa01909aa079e9ab478e8c3a5b2ddf9e288 --- ext/libicpf/src/libicpf/cfg.cpp (.../cfg.cpp) (revision 6e13958c3d83047ec29e5a703d8982025eb22304) +++ ext/libicpf/src/libicpf/cfg.cpp (.../cfg.cpp) (revision 3b516fa01909aa079e9ab478e8c3a5b2ddf9e288) @@ -717,6 +717,30 @@ property_changed_notify(uiProp); } +/** Sets the string manually, without using registered properties; does not notify about change. +* +* \param[in] pszName - name of the property +* \param[in] pszVal - value of the property +* \param[in] a - action to take if the property is array based +* \param[in] tIndex - index of a value to set at (for action action_setat) +*/ +void config::set_string(const tchar_t* pszName, const tchar_t* pszVal, property::actions a) +{ + config_base::actions action; + switch(a) + { + case property::action_add: + action = config_base::action_add; + break; + case property::action_replace: + action = config_base::action_replace; + break; + default: + THROW(_t("Undefined or unsupported action."), 0, 0, 0); + } + m_pCfgBase->set_value(pszName, pszVal, action); +} + /** Function sets the callback function to be called on property change. * \param[in] pfnCallback - pointer to the function * \param[in] pParam - user defined parameter to pass to the callback Index: ext/libicpf/src/libicpf/cfg.h =================================================================== diff -u -N -r6e13958c3d83047ec29e5a703d8982025eb22304 -r3b516fa01909aa079e9ab478e8c3a5b2ddf9e288 --- ext/libicpf/src/libicpf/cfg.h (.../cfg.h) (revision 6e13958c3d83047ec29e5a703d8982025eb22304) +++ ext/libicpf/src/libicpf/cfg.h (.../cfg.h) (revision 3b516fa01909aa079e9ab478e8c3a5b2ddf9e288) @@ -158,6 +158,8 @@ void set_bool(uint_t uiProp, bool bVal, property::actions a=property::action_replace, size_t tIndex=0, property_tracker* pTracker=NULL); /// Sets the value of string-type property void set_string(uint_t uiProp, const tchar_t* pszVal, property::actions a=property::action_replace, size_t tIndex=0, property_tracker* pTracker=NULL); + /// Sets the string manually, without using registered properties; does not notify about change. + void set_string(const tchar_t* pszName, const tchar_t* pszVal, property::actions a=property::action_replace); /**@}*/ /** \name Notifications */