Packets: Packet Registry unregister() support
[senf.git] / senf / Packets / PacketRegistry.hh
index 882f693..e766914 100644 (file)
@@ -78,7 +78,7 @@ namespace senf {
         static registration only works when the symbol is included into the final binary. To force
         this inclusion, you should not put packet registrations into a library but into an object
         file.
-        
+
         To simplify static registration the SENF_PACKET_REGISTRY_REGISTER macro can be used:
         \code
         SENF_PACKET_REGISTRY_REGISTER(SomeTag, SomePacket, key_of_somePacket);
@@ -109,6 +109,7 @@ namespace senf {
         struct RegistrationProxy
         {
             RegistrationProxy(typename Tag::key_t key);
+            ~RegistrationProxy();
         };
 
         /** \brief Register new packet type
@@ -126,6 +127,10 @@ namespace senf {
         template <class PacketType>
         static void registerPacket(typename Tag::key_t key);
 
+        template <class PacketType>
+        static void unregisterPacket();
+        static void unregisterPacket(typename Tag::key_t key);
+
         /** \brief Find key of a packet type
 
             Return the key of \a PacketType as registered in the \a Tag registry
@@ -245,4 +250,3 @@ namespace senf {
 // compile-command: "scons -u test"
 // comment-column: 40
 // End:
-