IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Macros
LogMessageManagerSrcMacros.h File Reference

Source part of macros set allowing to manager log messages map into libraries. More...

Go to the source code of this file.

Macros

#define START_LOG_MESSAGE_MAP(libraryName, enumTypeStr)
 macro allowing to start message map creation for a given library libraryName and a given enumerate enumTypeStr More...
 
#define ADD_LOG_MESSAGE(msgId, msgStr)
 macro allowing to add a message to current message map with id msgId and associated string msgStr More...
 
#define END_LOG_MESSAGE_MAP()
 macro allowing to end message map creation for a given library More...
 

Detailed Description

Source part of macros set allowing to manager log messages map into libraries.

Author
E. Noirfalise
Date
2014/03/18

Macro Definition Documentation

◆ START_LOG_MESSAGE_MAP

#define START_LOG_MESSAGE_MAP (   libraryName,
  enumTypeStr 
)
Value:
namespace details { \
typedef enumTypeStr TargetEnumType; \
template <typename EnumType, typename DelayImpl = void> \
struct MsgMapRegistratorDerived; \
} \
template <typename DelayImpl> \
{ \
static bool process() \
{ \
return details::MsgMapRegistratorDerived<enumTypeStr, DelayImpl>:: \
registerMessageMap(); \
} \
}; \
namespace details { \
template <typename EnumType, typename DelayImpl> \
struct MsgMapRegistratorDerived : \
public IPSDK_LIB_NAMESPACE(libraryName)::MsgMapRegistrator<EnumType, \
MsgMapRegistratorDerived<EnumType> > \
{ \
template <enumTypeStr::domain enumValue, typename DelayImpl2 = void> \
struct MsgInfo \
{ \
static const char* getMsg() \
{ \
BOOST_STATIC_ASSERT_MSG(enumValue == -1, \
"This enumerate value has no associated message"); \
} \
};
#define IPSDK_LIB_NAMESPACE(libraryName)
macro allowing to format macro name used to retrieve a library base namespace given its base name ...
Definition: BaseMacros.h:34
Template class used to force message map instantiation.
Definition: LogMessageManagerHdrDetailsMacros.h:30

macro allowing to start message map creation for a given library libraryName and a given enumerate enumTypeStr

◆ ADD_LOG_MESSAGE

#define ADD_LOG_MESSAGE (   msgId,
  msgStr 
)
Value:
template <typename DelayImpl2> \
struct MsgInfo<TargetEnumType::msgId, DelayImpl2> \
{ \
static const char* getMsg() \
{ \
return msgStr; \
} \
};

macro allowing to add a message to current message map with id msgId and associated string msgStr

◆ END_LOG_MESSAGE_MAP

#define END_LOG_MESSAGE_MAP ( )
Value:
}; \
static bool g_bRegistred = MessageMapRegistrator<TargetEnumType>::process(); \
} \
template struct MessageMapRegistrator<details::TargetEnumType, void>;
Template class used to force message map instantiation.
Definition: LogMessageManagerHdrDetailsMacros.h:30
static bool process()
method allowing to process message map registration

macro allowing to end message map creation for a given library