X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FMPEGDVBBundle%2FDSMCCSection.hh;h=e53d068fa0757db4de829e5debdb80a763ff18c5;hb=8326bb299e3c614a32f17efa9060db48840fbe10;hp=ae4f7878862d68447e1530d37bfe7a4970b8ac10;hpb=b371e9c8020d1c30d7f844819714a81db7709912;p=senf.git diff --git a/Packets/MPEGDVBBundle/DSMCCSection.hh b/Packets/MPEGDVBBundle/DSMCCSection.hh index ae4f787..e53d068 100644 --- a/Packets/MPEGDVBBundle/DSMCCSection.hh +++ b/Packets/MPEGDVBBundle/DSMCCSection.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id:DSMCCSection.hh 327 2007-07-20 10:03:44Z tho $ // // Copyright (C) 2007 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) @@ -20,6 +20,9 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +/** \file + \brief DSMCCSection public header */ + #ifndef HH_DSMCCSection_ #define HH_DSMCCSection_ 1 @@ -27,7 +30,6 @@ #include #include "Packets/PacketType.hh" #include "Packets/ParseInt.hh" -#include "Packets/PacketRegistry.hh" #include "Packets/PacketParser.hh" //#include "DSMCCSection.mpp" @@ -35,12 +37,14 @@ namespace senf { + /** \brief Parse a DSMCC Section + + Parser implementing the header of a DSMCC Section + + \see DSMCCSectionType + */ struct Parse_DSMCCSection : public PacketParserBase { - SENF_PACKET_PARSER_INIT(Parse_DSMCCSection); - - /////////////////////////////////////////////////////////////////////////// - typedef Parse_UInt8 Parse_table_id; typedef Parse_Flag < 0 > Parse_ssi; // section_syntax_indicator typedef Parse_Flag < 1 > Parse_pi; // private_indicator @@ -49,7 +53,11 @@ namespace senf { typedef Parse_UIntField < 0, 2 > Parse_reserved_2; typedef Parse_UIntField < 2, 7 > Parse_version_num; typedef Parse_Flag < 7 > Parse_curr_next_indicator; - + +# ifndef DOXYGEN + + SENF_PACKET_PARSER_INIT(Parse_DSMCCSection); + SENF_PACKET_PARSER_DEFINE_FIXED_FIELDS( ((Field ) ( table_id, Parse_table_id )) ((OverlayField) ( ssi, Parse_ssi )) @@ -64,9 +72,35 @@ namespace senf { ((Field ) ( last_sec_num, Parse_UInt8 )) ); +# else + + Parse_table_id table_id() const; + Parse_ssi ssi() const; + Parse_pi pi() const; + Parse_reserved_1 reserved_1() const; + Parse_sec_length sec_length const; + Parse_UInt16 tabel_id_extension() const; + Parse_reserved_2 reserved_2() const; + Parse_version_num version_num() const; + Parse_curr_next_indicator curr_next_indicator() const; + Parse_UInt8 sec_num() const; + Parse_UInt8 last_sec_num() const; + +# endif + Parse_UInt32 crc() const { return parse( data().size()-4 ); } }; + + /** \brief DSMCC Section + + \par Packet type (typedef): + \ref DSMCCSection + + \par Fields: + \ref Parse_DSMCCSection + \ingroup protocolbundle_mpegdvb + */ struct DSMCCSectionType : public PacketTypeBase, public PacketTypeMixin