Index: ext/libicpf/src/libicpf/cfg.h =================================================================== diff -u -N -r86310fdf8a767b700985ebd1b255004d9eb85fb7 -r6e13958c3d83047ec29e5a703d8982025eb22304 --- ext/libicpf/src/libicpf/cfg.h (.../cfg.h) (revision 86310fdf8a767b700985ebd1b255004d9eb85fb7) +++ ext/libicpf/src/libicpf/cfg.h (.../cfg.h) (revision 6e13958c3d83047ec29e5a703d8982025eb22304) @@ -33,6 +33,8 @@ /// Callback function definition typedef void(*PFNPROPERTYCHANGED)(uint_t, ptr_t); +/// Enumeration callback +typedef void(*PFNCFGENUMCALLBACK)(bool, const tchar_t*, const tchar_t*, ptr_t); /** \brief Property group handling class * @@ -142,6 +144,9 @@ /// Retrieves the copy of the string const tchar_t* get_string(uint_t uiProp, tchar_t* pszBuffer, size_t stBufferSize, size_t stIndex=0); + /// Enumerates attributes (and groups) + bool enum_properties(const tchar_t* pszName, PFNCFGENUMCALLBACK pfn, ptr_t pParam); + // setting property data /// Sets the value from the string void set_value(uint_t uiProp, const tchar_t* pszVal, property::actions a=property::action_replace, size_t tIndex=0, property_tracker* pTracker=NULL);