Fix documentation build under maverick (doxygen 1.7.1)
[senf.git] / senf / Packets / PacketRegistry.cti
index 89b4868..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, int priority)
+prefix_ senf::PacketRegistry<Tag>::ScopedRegistrationProxy<PacketType>::
+ScopedRegistrationProxy(typename Tag::key_t key, int priority)
 {
     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,7 +52,7 @@ prefix_ senf::PacketRegistry<Tag>::RegistrationProxy<PacketType>::~RegistrationP
     {}
 }
 
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 // senf::PacketRegistry<Tag>
 
 template <class Tag>
@@ -66,13 +66,15 @@ 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, int priority)
 {
-    registry().unregisterPacket(key, priority);
+    if (alive())
+        registry().unregisterPacket(key, priority);
 }
 
 template <class Tag>
@@ -128,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>
@@ -153,7 +167,7 @@ senf::detail::PacketRegistryImpl<KeyType>::end()
     return registry_.end();
 }
 
-///////////////////////////////PacketRegistry..e///////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #undef prefix_
 
 \f