X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FMPEGDVBBundle%2FMPESection.hh;h=c9be56a5d1eec9c40913936de240b1ac94861015;hb=17d44437f7fb8ee68a96ed55fc327c746c161142;hp=0bf928b5aa372d4329457e3bf3b0879af83b1c48;hpb=664602bd7e14a365bca130805a1a08a1b347c473;p=senf.git diff --git a/Packets/MPEGDVBBundle/MPESection.hh b/Packets/MPEGDVBBundle/MPESection.hh index 0bf928b..c9be56a 100644 --- a/Packets/MPEGDVBBundle/MPESection.hh +++ b/Packets/MPEGDVBBundle/MPESection.hh @@ -1,9 +1,9 @@ -// $Id:DSMCCSection.hh 327 2007-07-20 10:03:44Z tho $ +// $Id:MPESection.hh 560 2007-12-13 14:39:37Z tho $ // // Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Thorsten Horstmann +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Thorsten Horstmann // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -36,7 +36,7 @@ namespace senf { - struct Parse_MPERealTimeParameters : public PacketParserBase + struct MPERealTimeParametersParser : public PacketParserBase { # include SENF_FIXED_PARSER() @@ -45,7 +45,7 @@ namespace senf { SENF_PARSER_BITFIELD ( frame_boundary, 1, bool ); SENF_PARSER_BITFIELD ( address, 18, unsigned ); - SENF_PARSER_FINALIZE( Parse_MPERealTimeParameters ); + SENF_PARSER_FINALIZE( MPERealTimeParametersParser ); }; @@ -55,19 +55,20 @@ namespace senf { \see MPESectionType */ - struct Parse_MPESection : public PacketParserBase + class MPESectionParser : public PacketParserBase { + public: # include SENF_FIXED_PARSER() - SENF_PARSER_FIELD( table_id, Parse_UInt8 ); + SENF_PARSER_FIELD( table_id, UInt8Parser ); SENF_PARSER_BITFIELD ( section_syntax_indicator, 1, bool ); SENF_PARSER_BITFIELD ( private_indicator, 1, bool ); SENF_PARSER_PRIVATE_BITFIELD( reserved_1, 2, unsigned ); SENF_PARSER_BITFIELD ( section_length, 12, unsigned ); - SENF_PARSER_FIELD( mac_addr_6, Parse_UInt8 ); - SENF_PARSER_FIELD( mac_addr_5, Parse_UInt8 ); + SENF_PARSER_FIELD( mac_addr_6, UInt8Parser ); + SENF_PARSER_FIELD( mac_addr_5, UInt8Parser ); SENF_PARSER_PRIVATE_BITFIELD( reserved_2, 2, unsigned ); SENF_PARSER_BITFIELD ( payload_scrmbl_ctrl, 2, unsigned ); @@ -75,12 +76,12 @@ namespace senf { SENF_PARSER_BITFIELD ( llc_snap_flag, 1, bool ); SENF_PARSER_BITFIELD ( curr_next_indicator, 1, bool ); - SENF_PARSER_FIELD( section_num, Parse_UInt8 ); - SENF_PARSER_FIELD( last_section_num, Parse_UInt8 ); + SENF_PARSER_FIELD( section_num, UInt8Parser ); + SENF_PARSER_FIELD( last_section_num, UInt8Parser ); - SENF_PARSER_FIELD( real_time_parameters, Parse_MPERealTimeParameters ); + SENF_PARSER_FIELD( real_time_parameters, MPERealTimeParametersParser ); - SENF_PARSER_FINALIZE( Parse_MPESection ); + SENF_PARSER_FINALIZE( MPESectionParser ); SENF_PARSER_PRIVATE_BITFIELD( ip_datagram_version, 4, unsigned ); @@ -95,12 +96,13 @@ namespace senf { curr_next_indicator() = 1; } - Parse_UInt32 crc() const { return parse( data().size()-4 ); } - -// typedef boost::crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0, false, false> crc32_t; -// boost::uint32_t calcCrc() const; + UInt32Parser crc() const { return parse( data().size()-4 ); } + boost::uint32_t calcCrc() const; friend class MPESectionType; + + private: + typedef boost::crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0, false, false> crc32_t; }; @@ -110,7 +112,7 @@ namespace senf { \ref MPESection \par Fields: - \ref Parse_MPESection + \ref MPESectionParser \ingroup protocolbundle_mpegdvb */ @@ -120,7 +122,7 @@ namespace senf { { typedef PacketTypeMixin mixin; typedef ConcretePacket packet; - typedef Parse_MPESection parser; + typedef MPESectionParser parser; using mixin::nextPacketRange; using mixin::init;