16 #ifndef __IPSDKUTIL_LOGMESSAGEMANAGERHDRMACROS_H__ 17 #define __IPSDKUTIL_LOGMESSAGEMANAGERHDRMACROS_H__ 27 #define DECLARE_LOG_MESSAGE_MAP(libraryName, enumTypeStr, enumSeq) \ 28 BOOST_ENUM(enumTypeStr, \ 30 BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((_)enumSeq)), \ 33 template <typename EnumType, typename Derived> \ 34 struct IPSDK_LIB_API(libraryName) MsgMapRegistrator; \ 35 template <typename Derived> \ 36 struct MsgMapRegistrator<enumTypeStr, Derived> \ 38 static bool registerMessageMap() { \ 39 static bool g_bAlreadyRegistred = false; \ 40 if (g_bAlreadyRegistred == false) { \ 41 g_bAlreadyRegistred = true; \ 42 ipsdk::LogMessageManager& msgManager = \ 43 ipsdk::LogMessageManager::getInstance(#libraryName); \ 44 BOOST_PP_SEQ_FOR_EACH_I(ADD_LOG_MSG_ITEM_MACRO, \ 45 enumTypeStr, (_)enumSeq); \ 55 #endif // __IPSDKUTIL_LOGMESSAGEMANAGERHDRMACROS_H__ Details for header part of macros set allowing to manager log messages map into libraries.