Index: ext/libicpf/src/cfg.h =================================================================== diff -u -re17c80d36eaa0430313e7d1058aa7a301d1510af -r8d691767fb8f0643d990f2613daffd4ec18422fa --- ext/libicpf/src/cfg.h (.../cfg.h) (revision e17c80d36eaa0430313e7d1058aa7a301d1510af) +++ ext/libicpf/src/cfg.h (.../cfg.h) (revision 8d691767fb8f0643d990f2613daffd4ec18422fa) @@ -23,7 +23,6 @@ /** \file cfg.h * \brief A placeholder for config class. */ -#include #include "mutex.h" #include "libicpf.h" #include "gen_types.h" @@ -66,6 +65,8 @@ extern config *__g_cfg; +ICPFTEMPL_EXTERN template class LIBICPF_API callback2; + /** \brief Structure contain information about one property. * * Struct is used to store information about any property type (name, value, @@ -121,8 +122,8 @@ class LIBICPF_API prop_group { public: - prop_group(ulong_t ulID) { m_ulGroupID=ulID; }; ///< Standard constructor - ~prop_group() { }; ///< Standard destructor + prop_group(ulong_t ulID); ///< Standard constructor + ~prop_group(); ///< Standard destructor void add(int_t iProp); ///< Adds a new property id to the list bool is_set(int_t iProp); ///< Checks if a property id is set inside this list @@ -131,8 +132,9 @@ ulong_t get_groupid(); ///< Retrieves the group id protected: - std::vector m_vProperties; ///< List of properties in a group - ulong_t m_ulGroupID; ///< The group ID + void* m_pProperties; ///< Internal member. Pointer to a storage structure with an int_t. +// std::vector m_vProperties; ///< List of properties in a group + ulong_t m_ulGroupID; ///< The group ID }; /** \brief Configuration management class. @@ -239,15 +241,16 @@ public: mutex m_lock; ///< Lock for the multi-threaded access to the properties - std::vector<_PROP> m_vProps; ///< Vector with properties - std::vector<_PROP> m_vUnreg; ///< Properties read from file, but not registered. + void* m_pProps; ///< Properties' storage + void* m_pUnreg; ///< Properties read from file, but not registered. + bool m_bModified; ///< Global modification flag - states if any property is in modified state #ifdef USE_ENCRYPTION string m_strPassword; ///< Password to encrypt/decrypt properties with #endif - callback2 m_clbPropertyChanged; ///< Callback (callback1) which is executed when any property has changed - // First param is count of properties changed (-1 if all changed), second one the prop_group* (or NULL if none changed) + callback2 m_clbPropertyChanged; ///< Callback (callback2) which is executed when any property has changed + // First param is count of properties changed (-1 if all changed), second one the prop_group* (or NULL if none changed) }; END_ICPF_NAMESPACE