X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2F80221Bundle%2FMIHPacket.hh;h=9c7f1038866900196a39b30a05ff6e68c8ba2854;hb=2265e2dcc8c6fc6a35f63d68119a795974cf2ee7;hp=7128135eceb7fac2f4a11dd66046f039d61ab572;hpb=ffd0e5bf26f993bab27c777f71d58285867345d7;p=senf.git diff --git a/Packets/80221Bundle/MIHPacket.hh b/Packets/80221Bundle/MIHPacket.hh index 7128135..9c7f103 100644 --- a/Packets/80221Bundle/MIHPacket.hh +++ b/Packets/80221Bundle/MIHPacket.hh @@ -138,6 +138,7 @@ namespace senf { \par Fields: \ref MIHPacketParser + \image html MIHPacket.png \ingroup protocolbundle_80221 */ @@ -155,9 +156,38 @@ namespace senf { static void dump(packet p, std::ostream &os); static void finalize(packet p); + static factory_t nextPacketType(packet p); }; typedef ConcretePacket MIHPacket; + + + struct MIHPayloadPacketParser : public PacketParserBase + { + # include SENF_PARSER() + SENF_PARSER_LIST ( tlv_list, packetSize(), GenericTLVPacketParser ); + + SENF_PARSER_FINALIZE ( MIHPayloadPacketParser ); + }; + + struct MIHPayloadPacketType + : public PacketTypeBase, + public PacketTypeMixin + { + typedef PacketTypeMixin mixin; + typedef ConcretePacket packet; + typedef MIHPayloadPacketParser parser; + + using mixin::nextPacketRange; + using mixin::init; + using mixin::initSize; + + static void dump(packet p, std::ostream &os); + }; + + typedef ConcretePacket MIHPayloadPacket; + + }