Move include files in debian packge into 'senf' subdirectory
[senf.git] / Packets / MPEGDVBBundle / SNDUPacket.hh
index 4ab5824..3645b57 100644 (file)
@@ -3,7 +3,7 @@
 // Copyright (C) 2007
 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-//     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+//     Thorsten Horstmann <thorsten.horstmann@fokus.fraunhofer.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
 // Custom includes
 #include <algorithm>
 #include <boost/crc.hpp>
-#include "Packets/PacketType.hh"
-#include "Packets/ParseInt.hh"
-#include "Packets/PacketRegistry.hh"
-#include "Packets/PacketParser.hh"
-#include "Packets/DefaultBundle/EthernetPacket.hh"
+#include "../../Packets/PacketType.hh"
+#include "../../Packets/ParseInt.hh"
+#include "../../Packets/PacketRegistry.hh"
+#include "../../Packets/PacketParser.hh"
+#include "../../Packets/DefaultBundle/EthernetPacket.hh"
 
 //#include "SNDUPacket.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
@@ -86,6 +86,11 @@ namespace senf {
         boost::uint32_t calcCrc() const;
     };
 
+    
+    struct ULEExtHeaderTypes {
+        typedef boost::uint16_t key_t;
+    };
+    
     /** \brief ULE SNDU Packet
         
         \par Packet type (typedef):
@@ -97,20 +102,29 @@ namespace senf {
         \ingroup protocolbundle_mpegdvb
      */
     struct SNDUPacketType
-        : public PacketTypeBase,
-          public PacketTypeMixin<SNDUPacketType>
+        : public PacketTypeBase
+//          public PacketTypeMixin<SNDUPacketType, ULEExtHeaderTypes>
     {
-        typedef PacketTypeMixin<SNDUPacketType> mixin;
+//        typedef PacketTypeMixin<SNDUPacketType, ULEExtHeaderType> mixin;
         typedef ConcretePacket<SNDUPacketType> packet;
         typedef Parse_SNDUPacket parser;
 
-        using mixin::nextPacketRange;
-//          using mixin::nextPacketType;
-        using mixin::init;
+//        using mixin::nextPacketRange;
+//        using mixin::nextPacketType;
+//        using mixin::init;
+        
+//        static registry_key_t nextPacketKey(packet p);
+        
+        static void init(packet p);
+
+        static factory_t nextPacketType(packet p);
+        
+        static optional_range nextPacketRange(packet p);
         
         static void dump(packet p, std::ostream & os);
         
         static PacketParserBase::size_type initSize();
+        
         static PacketParserBase::size_type initHeadSize();
     };