Fix documentation build under maverick (doxygen 1.7.1)
[senf.git] / senf / Packets / PacketRegistry.cti
index a99c59b..f929f81 100644 (file)
 // Custom includes
 
 #define prefix_ inline
-///////////////////////////////PacketRegistry..p///////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////
-// senf::PacketRegistry<Tag>::RegistrationProxy<PacketType>
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
+// senf::PacketRegistry<Tag>::ScopedRegistrationProxy<PacketType>
 
 template <class Tag>
 template <class PacketType>
-prefix_ senf::PacketRegistry<Tag>::RegistrationProxy<PacketType>::
-RegistrationProxy(typename Tag::key_t key)
+prefix_ senf::PacketRegistry<Tag>::ScopedRegistrationProxy<PacketType>::
+ScopedRegistrationProxy(typename Tag::key_t key, int priority)
 {
-    PacketRegistry<Tag>::template registerPacket<PacketType>(key);
+    PacketRegistry<Tag>::template registerPacket<PacketType>(key,priority);
 }
 
 template <class Tag>
 template <class PacketType>
-prefix_ senf::PacketRegistry<Tag>::RegistrationProxy<PacketType>::~RegistrationProxy()
+prefix_ senf::PacketRegistry<Tag>::ScopedRegistrationProxy<PacketType>::~ScopedRegistrationProxy()
 {
     try {
         PacketRegistry<Tag>::template unregisterPacket<PacketType>();
@@ -52,27 +52,29 @@ prefix_ senf::PacketRegistry<Tag>::RegistrationProxy<PacketType>::~RegistrationP
     {}
 }
 
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 // senf::PacketRegistry<Tag>
 
 template <class Tag>
 template <class PacketType>
-prefix_ void senf::PacketRegistry<Tag>::registerPacket(typename Tag::key_t key)
+prefix_ void senf::PacketRegistry<Tag>::registerPacket(typename Tag::key_t key, int priority)
 {
-    registry().registerPacket<PacketType>(key);
+    registry().registerPacket<PacketType>(key, priority);
 }
 
 template <class Tag>
 template <class PacketType>
 prefix_ void senf::PacketRegistry<Tag>::unregisterPacket()
 {
-    registry().unregisterPacket<PacketType>();
+    if (alive())
+        registry().unregisterPacket<PacketType>();
 }
 
 template <class Tag>
-prefix_ void senf::PacketRegistry<Tag>::unregisterPacket(typename Tag::key_t key)
+prefix_ void senf::PacketRegistry<Tag>::unregisterPacket(typename Tag::key_t key, int priority)
 {
-    registry().unregisterPacket(key);
+    if (alive())
+        registry().unregisterPacket(key, priority);
 }
 
 template <class Tag>
@@ -103,14 +105,15 @@ senf::PacketRegistry<Tag>::key(Packet const & packet, NoThrow_t)
 }
 
 template <class Tag>
-prefix_ senf::PkReg_Entry const & senf::PacketRegistry<Tag>::lookup(typename Tag::key_t key)
+prefix_ typename senf::PacketRegistry<Tag>::Entry const &
+senf::PacketRegistry<Tag>::lookup(typename Tag::key_t key)
 {
     return registry().lookup(key);
 }
 
 template <class Tag>
-prefix_ senf::PkReg_Entry const * senf::PacketRegistry<Tag>::lookup(typename Tag::key_t key,
-                                                                    NoThrow_t)
+prefix_ typename senf::PacketRegistry<Tag>::Entry const *
+senf::PacketRegistry<Tag>::lookup(typename Tag::key_t key, NoThrow_t)
 {
     return registry().lookup(key,true);
 }
@@ -127,7 +130,19 @@ prefix_ typename senf::PacketRegistry<Tag>::iterator senf::PacketRegistry<Tag>::
     return registry().end();
 }
 
-///////////////////////////////////////////////////////////////////////////
+template <class Tag>
+prefix_ senf::PacketRegistry<Tag>::PacketRegistry()
+    : registry_ (prettyName(typeid(Tag)))
+{}
+
+template <class Tag>
+prefix_ typename senf::PacketRegistry<Tag>::Registry &
+senf::PacketRegistry<Tag>::registry()
+{
+    return instance().registry_;
+}
+
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 // senf::detail::PacketRegistryImpl<KeyType>
 
 template <class KeyType>
@@ -141,8 +156,7 @@ prefix_ typename senf::detail::PacketRegistryImpl<KeyType>::iterator
 senf::detail::PacketRegistryImpl<KeyType>::begin()
     const
 {
-    return boost::make_transform_iterator(
-        registry_.begin(), ::__gnu_cxx::select1st<typename PacketMap::value_type>());
+    return registry_.begin();
 }
 
 template <class KeyType>
@@ -150,11 +164,10 @@ prefix_ typename senf::detail::PacketRegistryImpl<KeyType>::iterator
 senf::detail::PacketRegistryImpl<KeyType>::end()
     const
 {
-    return boost::make_transform_iterator(
-        registry_.end(), ::__gnu_cxx::select1st<typename PacketMap::value_type>());
+    return registry_.end();
 }
 
-///////////////////////////////PacketRegistry..e///////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #undef prefix_
 
 \f