// 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////////////////////////////////////////
boost::uint32_t calcCrc() const;
};
+
+ struct ULEExtHeaderTypes {
+ typedef boost::uint16_t key_t;
+ };
+
/** \brief ULE SNDU Packet
\par Packet type (typedef):
\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();
};