// $Id$
//
-// Copyright (C) 2007
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
template <class Type>
prefix_ bool senf::PacketInterpreterBase::is()
{
+ { static void const * const _ ((void*)&Type::dump); (void) _; }
return dynamic_cast< PacketInterpreter<Type>* >(this);
}
template <class Type>
prefix_ typename senf::PacketInterpreter<Type>::ptr senf::PacketInterpreterBase::as()
{
+ { static void const * const _ ((void*)&Type::dump); (void) _; }
return typename PacketInterpreter<Type>::ptr(
static_cast< PacketInterpreter<Type>* >(this));
}
+template <class Annotation>
+prefix_ Annotation & senf::PacketInterpreterBase::annotation()
+{
+ return impl().annotation<Annotation>();
+}
+
///////////////////////////////////////////////////////////////////////////
// senf::PacketInterpreter<PacketType>
template <class PacketType>
prefix_ typename senf::PacketInterpreter<PacketType>::ptr
-senf::PacketInterpreter<PacketType>::create(NoInit_t)
+senf::PacketInterpreter<PacketType>::create(senf::NoInit_t)
{
- return create(0,noinit);
+ return create(0,senf::noinit);
}
template <class PacketType>
template <class PacketType>
prefix_ typename senf::PacketInterpreter<PacketType>::ptr
-senf::PacketInterpreter<PacketType>::createAfter(PacketInterpreterBase::ptr packet, NoInit_t)
+senf::PacketInterpreter<PacketType>::createAfter(PacketInterpreterBase::ptr packet, senf::NoInit_t)
{
- return createAfter(packet, 0, noinit);
+ return createAfter(packet, 0, senf::noinit);
}
// Create clone of current packet
prefix_ typename senf::PacketInterpreter<PacketType>::parser
senf::PacketInterpreter<PacketType>::fields()
{
- return parser(&data());
+ return parser (data().begin(),&data());
}
template <class PacketType>