X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketRegistry.ct;h=a0bf61cf4fd8afd20a6e90644bc3da9df9401ad0;hb=688f3266c15bd532194fe81e704c0a2cf320375a;hp=ca5a144ba05da3a7ac60e1032f320219159342c4;hpb=47368f306a577d1e46df69a7f729bd3893cbe5e7;p=senf.git diff --git a/Packets/PacketRegistry.ct b/Packets/PacketRegistry.ct index ca5a144..a0bf61c 100644 --- a/Packets/PacketRegistry.ct +++ b/Packets/PacketRegistry.ct @@ -20,7 +20,8 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// Definition of non-inline template funPacketRegistry.ons +/** \file + \brief PacketRegistry non-inline template implementation */ #include "PacketRegistry.ih" @@ -34,13 +35,17 @@ template prefix_ senf::PacketInterpreterBase::factory_t senf::detail::PkReg_EntryImpl::factory() const { - return PacketInterpreter::factory(); + return PacketType::factory(); } template template prefix_ void senf::detail::PacketRegistryImpl::registerPacket(key_t key) { +#ifdef NDEBUG + registry_.insert(std::make_pair(key, Entry_ptr(new detail::PkReg_EntryImpl()))); + reverseRegistry_.insert(std::make_pair(senf::typeIdValue(), key)); +#else bool isUnique ( registry_.insert( std::make_pair(key, Entry_ptr(new detail::PkReg_EntryImpl()))).second); @@ -51,6 +56,7 @@ prefix_ void senf::detail::PacketRegistryImpl::registerPacket(key_t key std::make_pair(senf::typeIdValue(), key)).second); // If this assertion fails, the same Packet was registered with two different keys BOOST_ASSERT( isNew ); +#endif } template