8 #ifndef ARM_OCSD_LIB_DCD_REGISTER_H_INCLUDED
9 #define ARM_OCSD_LIB_DCD_REGISTER_H_INCLUDED
74 void registerBuiltInDecoders();
75 void deRegisterCustomDecoders();
77 std::map<const std::string, IDecoderMngr *> m_decoder_mngrs;
78 std::map<const std::string, IDecoderMngr *>::const_iterator m_iter;
80 std::map<const ocsd_trace_protocol_t, IDecoderMngr *> m_typed_decoder_mngrs;
94 static bool m_b_registeredBuiltins;
114 return new (std::nothrow)T(name);
127 #define CREATE_BUILTIN_ENTRY(C,N) { 0, createManagerInst<C>, N }
const bool isRegisteredDecoder(const std::string &name)
const ocsd_err_t getDecoderMngrByType(const ocsd_trace_protocol_t decoderType, IDecoderMngr **p_decoder_mngr)
const ocsd_err_t registerDecoderTypeByName(const std::string &name, IDecoderMngr *p_decoder_fact)
register a decoder manager interface
static OcsdLibDcdRegister * getDecoderRegister()
const bool isRegisteredDecoderType(const ocsd_trace_protocol_t decoderType)
const ocsd_err_t getDecoderMngrByName(const std::string &name, IDecoderMngr **p_decoder_mngr)
static const ocsd_trace_protocol_t getNextCustomProtocolID()
static void releaseLastCustomProtocolID()
const bool getNextNamedDecoder(std::string &name)
const bool getFirstNamedDecoder(std::string &name)
static void deregisterAllDecoders()
library cleanup - deregisters decoder managers and destroys the register object.
enum _ocsd_trace_protocol_t ocsd_trace_protocol_t
enum _ocsd_err_t ocsd_err_t
OpenCSD : Standard Types used in the library interfaces.
struct built_in_decoder_info built_in_decoder_info_t
IDecoderMngr * createManagerInst(const std::string &name)
IDecoderMngr *(* CreateMngr)(const std::string &name)
IDecoderMngr * pMngr
pointer to created decoder manager
const char * name
registered name of the decoder.
CreateMngr PFn
function to create the decoder manager.