Packets/DefaultBundle: use new generic TLV base class for IPv6Options
[senf.git] / senf / Packets / DefaultBundle / IPv6ExtOptionType.ct
diff --git a/senf/Packets/DefaultBundle/IPv6ExtOptionType.ct b/senf/Packets/DefaultBundle/IPv6ExtOptionType.ct
deleted file mode 100644 (file)
index ca43a48..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-// $Id: IPv6ExtOptionType.ct 869 2008-06-09 13:57:27Z pug $
-//
-// Copyright (C) 2009
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
-//     Philipp.Batroff@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
-// 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.
-
-/** \file
-    \brief IPv6Extension-Options non-inline template implementation  */
-
-//#include "IPv6ExtOptionType.ih"
-
-// Custom includes
-
-#define prefix_
-///////////////////////////////ct.p////////////////////////////////////////
-
-template <class ForwardReadableRange>
-prefix_ void senf::IPv6GenericOptionTLVParser::value(ForwardReadableRange const &range)
-{
-    unsigned int rangeSize = boost::size(range);
-    
-    if ( (rangeSize-2) != optionLength() )
-        resize(optionLength()+2, rangeSize);
-    std::copy(boost::next(boost::begin(range), 2), boost::next(boost::end(range)), 
-            boost::next(i(), 2 + optionLength() ));
-    unsigned int val = *(boost::begin(range));
-    unsigned int mask = 192u;
-    altAction() = (val & mask) >> 6;
-    mask = 32u;
-    changeFlag() = (val & mask) >> 5;
-    mask = 31u;
-    optionType() = (val & mask);
-    optionLength() = *(boost::next( boost::begin(range), 1));
-}
-
-template <class ForwardReadableRange>
-prefix_ void senf::IPv6GenericOptionTLVParser::setPayload(ForwardReadableRange const &range)
-{
-    unsigned int rangeSize = boost::size(range);
-    if ( rangeSize != optionLength() )
-        resize( (optionLength() + 2), (rangeSize + 2) );
-    std::copy( boost::begin(range), boost::end(range), boost::next( i(), 2));
-    optionLength() = rangeSize;
-}
-
-template <class Parser>
-prefix_ Parser senf::IPv6GenericOptionTLVParser::init()
-{  
-    size_type oldSize (bytes() );
-    size_type newParserSize ( senf::init_bytes<Parser>::value );
-    resize(  oldSize, newParserSize);
-    std::fill(i(),boost::next(i(), newParserSize), 0u);
-    Parser concreteParser = Parser(i(), state() );
-    concreteParser.init();
-    concreteParser.optionLength() = (newParserSize-2);
-    return concreteParser;
-}
-
-template <class Parser>
-prefix_ Parser senf::IPv6GenericOptionTLVParser::as()
-{
-    return Parser(i(), state() );
-}
-
-
-///////////////////////////////ct.e////////////////////////////////////////
-#undef prefix_
-
-\f
-// Local Variables:
-// mode: c++
-// fill-column: 100
-// c-file-style: "senf"
-// indent-tabs-mode: nil
-// ispell-local-dictionary: "american"
-// compile-command: "scons -u test"
-// comment-column: 40
-// End: