X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketInterpreter.hh;h=ac38e7d803a5c32b2d252db3f109598721d78ad7;hb=b89e3166f7680755683dccee5e48cb3a820185c0;hp=80bb01662efae00bbd5de6587f708ef3690548ed;hpb=1d247d12d1759ffd77f456efe3a52f03dd289994;p=senf.git diff --git a/Packets/PacketInterpreter.hh b/Packets/PacketInterpreter.hh index 80bb016..ac38e7d 100644 --- a/Packets/PacketInterpreter.hh +++ b/Packets/PacketInterpreter.hh @@ -23,15 +23,13 @@ /** \file \brief PacketInterpreter public header */ -#ifndef HH_PacketInterpreter_ -#define HH_PacketInterpreter_ 1 +#ifndef HH_SENF_Packets_PacketInterpreter_ +#define HH_SENF_Packets_PacketInterpreter_ 1 // Custom includes #include "../boost/intrusive/ilist.hpp" #include #include -#include -#include #include "../Utils/intrusive_refcount.hh" #include "../Utils/pool_alloc_mixin.hh" #include "../Utils/Tags.hh" @@ -162,11 +160,20 @@ namespace senf { ///@} + ///\name Annotations + ///@{ + + template + Annotation & annotation(); + + ///@} + ///\name Access to the abstract interface ///@{ optional_range nextPacketRange(); - void finalize(); + void finalizeThis(); + void finalizeTo(ptr other); void dump(std::ostream & os); TypeIdValue typeId(); factory_t factory(); @@ -211,7 +218,7 @@ namespace senf { void releaseImpl(); friend class detail::PacketImpl; - friend class intrusive_refcount_t; + friend class intrusive_refcount_base; template friend class PacketInterpreter; friend class detail::packet::test::TestDriver; friend class PacketParserBase; @@ -249,8 +256,6 @@ namespace senf { // no copy // no conversion constructors - ~PacketInterpreter(); - static factory_t factory(); // Create completely new packet @@ -287,7 +292,6 @@ namespace senf { // Packet field access parser fields(); - parser * fields_p(); // PacketType access @@ -364,11 +368,6 @@ namespace senf { static const FactoryImpl factory_; - parser * parser_p(); - - boost::aligned_storage< sizeof(parser), - boost::alignment_of::value > parserStorage_; - friend class detail::packet::test::TestDriver; friend class PacketInterpreterBase; friend class FactoryImpl; @@ -386,8 +385,8 @@ namespace senf { ///////////////////////////////hh.e//////////////////////////////////////// #endif -#if !defined(HH_Packets__decls_) && !defined(HH_PacketInterpreter_i_) -#define HH_PacketInterpreter_i_ +#if !defined(HH_SENF_Packets_Packets__decls_) && !defined(HH_SENF_Packets_PacketInterpreter_i_) +#define HH_SENF_Packets_PacketInterpreter_i_ #include "PacketInterpreter.cci" #include "PacketInterpreter.ct" #include "PacketInterpreter.cti"