From ddc0a92d7e234536f74241aba9bc8fb389533a0a Mon Sep 17 00:00:00 2001
From: dw6 <dw6@wiback.org>
Date: Tue, 27 Nov 2007 10:40:46 +0000
Subject: [PATCH] integrated sub-parser for variants

---
 Packets/MPEGDVBBundle/GREPacket.hh | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Packets/MPEGDVBBundle/GREPacket.hh b/Packets/MPEGDVBBundle/GREPacket.hh
index f5617e337..0c63d878f 100644
--- a/Packets/MPEGDVBBundle/GREPacket.hh
+++ b/Packets/MPEGDVBBundle/GREPacket.hh
@@ -41,6 +41,13 @@ namespace senf {
         
         \see GREPacketType
      */
+    struct GREChecksumParser : public PacketParserBase {
+#       include SENF_PARSER()        
+        SENF_PARSER_PRIVATE_FIELD ( checksum1_, 	Parse_UInt16 );
+        SENF_PARSER_PRIVATE_FIELD ( reserved1_, Parse_UInt16 );
+  	SENF_PARSER_FINALIZE(GREChecksumParser);
+    };
+
     struct Parse_GREPacket : public PacketParserBase
     {
 #       include SENF_PARSER()
@@ -50,10 +57,8 @@ namespace senf {
         SENF_PARSER_BITFIELD_RO      ( version_number,    3, unsigned ); // TODO: Always Zero !!
         SENF_PARSER_FIELD            ( protocol_type,    Parse_UInt16 );
         SENF_PARSER_PRIVATE_VARIANT  ( checksum_,  checksum_present,
-                                                   (VoidPacketParser) (Parse_UInt16) );
-        SENF_PARSER_PRIVATE_VARIANT  ( reserved1_, checksum_present,
-                                                   (VoidPacketParser) (Parse_UInt16) );
-
+                                                   (VoidPacketParser) (GREChecksumParser) );
+ 
         SENF_PARSER_FINALIZE( Parse_GREPacket );
 
       private: 
-- 
GitLab