NEW FILE HEADER / COPYRIGHT FORMAT
[senf.git] / Packets / MPEGDVBBundle / DTCPPacket.hh
index 5b43e92..461daf2 100644 (file)
@@ -1,8 +1,26 @@
+// $Id$
+//
 // Copyright (C) 2007 
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
+// Fraunhofer Institute for Open Communication Systems (FOKUS) 
 // Kompetenzzentrum NETwork research (NET)
-//     David Wagner <david.wagner@fokus.fraunhofer.de>
+//     David Wagner <dw6@berlios.de>
+//
+// 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
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
 //
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+
 #ifndef DTCPPACKET_HH_
 #define DTCPPACKET_HH_
 
@@ -15,18 +33,18 @@ namespace senf {
     //first we have to define some helpers
     struct DTCPIPv4AddressListParser : public PacketParserBase {
 #       include SENF_PARSER()        
-        SENF_PARSER_PRIVATE_FIELD ( num_of_fbips, Parse_UInt8 );
-        SENF_PARSER_PRIVATE_FIELD ( reserved ,    Parse_UInt8 );   //must be zero 
-        SENF_PARSER_VEC_N         ( fbiplist,     num_of_fbips, Parse_INet4Address );
+        SENF_PARSER_PRIVATE_FIELD ( num_of_fbips, UInt8Parser );
+        SENF_PARSER_PRIVATE_FIELD ( reserved ,    UInt8Parser );   //must be zero 
+        SENF_PARSER_VEC_N         ( fbiplist,     num_of_fbips, INet4AddressParser );
 
        SENF_PARSER_FINALIZE(DTCPIPv4AddressListParser);
     };
         
     struct DTCPIPv6AddressListParser : public PacketParserBase {
 #       include SENF_PARSER()        
-        SENF_PARSER_PRIVATE_FIELD ( num_of_fbips, Parse_UInt8 );
-        SENF_PARSER_PRIVATE_FIELD ( reserved,     Parse_UInt8 );   //must be zero 
-        SENF_PARSER_VEC_N         ( fbiplist,     num_of_fbips, Parse_INet6Address );
+        SENF_PARSER_PRIVATE_FIELD ( num_of_fbips, UInt8Parser );
+        SENF_PARSER_PRIVATE_FIELD ( reserved,     UInt8Parser );   //must be zero 
+        SENF_PARSER_VEC_N         ( fbiplist,     num_of_fbips, INet6AddressParser );
 
        SENF_PARSER_FINALIZE(DTCPIPv6AddressListParser);
     };
@@ -37,18 +55,18 @@ namespace senf {
         
         \see DTCPPacketType
      */
-    struct Parse_DTCPPacket : public PacketParserBase
+    struct DTCPPacketParser : public PacketParserBase
     {
 #       include SENF_PARSER()
 
         SENF_PARSER_BITFIELD         ( version_number,       4, unsigned );  // =1 according to rfc3077
         SENF_PARSER_BITFIELD         ( command,              4, unsigned );  // 1=JOIN 2=LEAVE
-        SENF_PARSER_FIELD            ( interval,             Parse_UInt8 );  // 5 according to rfc3077
-        SENF_PARSER_FIELD            ( sequence_number,      Parse_UInt16 );
+        SENF_PARSER_FIELD            ( interval,             UInt8Parser );  // 5 according to rfc3077
+        SENF_PARSER_FIELD            ( sequence_number,      UInt16Parser );
         SENF_PARSER_PRIVATE_BITFIELD ( reserved,             3, unsigned );
         SENF_PARSER_BITFIELD         ( receive_capable_feed, 1, bool );      // 0=send only, 1=receive_capable_feed
         SENF_PARSER_BITFIELD         ( ip_version,           4, unsigned );  // 4=IPv4, 6=IPv6
-        SENF_PARSER_FIELD            ( tunnel_protocol,      Parse_UInt8 ); 
+        SENF_PARSER_FIELD            ( tunnel_protocol,      UInt8Parser ); 
                /* Please consider the following comments on the implementation given in this class: 
                 * 1. you could think of simply using SENF_PARSER_PRIVATE_VARIANT and List / Vectorparser like this:
                 * SENF_PARSER_PRIVATE_VARIANT  ( fbiplist,             ip_version,
@@ -56,9 +74,9 @@ namespace senf {
          *                                                       (senf::VoidPacketParser) //1
          *                                                       (senf::VoidPacketParser) //2
          *                                                       (senf::VoidPacketParser) //3
-         *                                                       (senf::Parse_ListB< IPv4Packet, num_of_fbips>) //4 
+         *                                                       (senf::ListBParser< IPv4Packet, num_of_fbips>) //4 
          *                                                       (senf::VoidPacketParser) //5
-         *                                                       (senf::Parse_ListB< IPv6Packet, num_of_fbips>) ); //6
+         *                                                       (senf::ListBParser< IPv6Packet, num_of_fbips>) ); //6
          * This can't work for two reasons: 
          *             -SENF_PARSER_PRIVATE_VARIANT only accepts 6 templates in types but you have to start from 0.
          *             -you NEVER can use templated Parsers in these macros since the macro-preprocessor won't recognize the <> brackets and will
@@ -90,7 +108,7 @@ namespace senf {
                                                                  (senf::DTCPIPv4AddressListParser)        //IPv4 
                                                                  (senf::DTCPIPv6AddressListParser) );     //IPv6
 
-       SENF_PARSER_FINALIZE(Parse_DTCPPacket);
+       SENF_PARSER_FINALIZE(DTCPPacketParser);
     };
     
     /** \brief DTCP packet
@@ -99,7 +117,7 @@ namespace senf {
             \ref DTCPPacket
 
         \par Fields:
-            \ref Parse_DTCPPacket
+            \ref DTCPPacketParser
 
         \ingroup protocolbundle_mpegdvb
      */
@@ -109,7 +127,7 @@ namespace senf {
     {
         typedef PacketTypeMixin<DTCPPacketType> mixin;
         typedef ConcretePacket<DTCPPacketType> packet;
-        typedef Parse_DTCPPacket parser;
+        typedef DTCPPacketParser parser;
     
         using mixin::nextPacketRange;
         using mixin::init;