Packets/DefaultBundle: added as<>() member to IPv6GenericOptionTLVParser
[senf.git] / senf / Packets / DefaultBundle / IPv6ExtOptionType.hh
index 0811d11..e992efd 100644 (file)
@@ -33,7 +33,7 @@
 ///////////////////////////////hh.p////////////////////////////////////////
 namespace senf {
 
-    class OptTypeTLVParser : public PacketParserBase
+    class IPv6OptionTLVParser : public PacketParserBase
     {
     public:
 #       include SENF_PARSER()
@@ -41,23 +41,24 @@ namespace senf {
         SENF_PARSER_BITFIELD (changeFlag, 1, unsigned);
         SENF_PARSER_BITFIELD (optionType, 5, unsigned);
         SENF_PARSER_FIELD (optionLength, UInt8Parser);
-        SENF_PARSER_FINALIZE (OptTypeTLVParser);
+        SENF_PARSER_FINALIZE (IPv6OptionTLVParser);
     };
 
-    struct GenericOptTypeTLVParser : public OptTypeTLVParser
+    
+    struct IPv6GenericOptionTLVParser : public IPv6OptionTLVParser
     {
 #       include SENF_PARSER()
-        SENF_PARSER_INHERIT ( OptTypeTLVParser );
+        SENF_PARSER_INHERIT ( IPv6OptionTLVParser );
         SENF_PARSER_SKIP ( optionLength(), 0 );
-        SENF_PARSER_FINALIZE ( GenericOptTypeTLVParser );
+        SENF_PARSER_FINALIZE ( IPv6GenericOptionTLVParser );
 
         senf::PacketInterpreterBase::range value() const;
 
         template <class Parser>
-        Parser& init();
+        Parser init();
 
-    //     template <class Parser>
-    //     Parser& get();
+        template <class Parser>
+        Parser as();
 
         static const unsigned int typeCode = 7u;
 
@@ -66,7 +67,6 @@ namespace senf {
 
         template<class ForwardReadableRange>
         void setPayload(ForwardReadableRange const &range);
-
     };
 
 }
@@ -78,6 +78,7 @@ namespace senf {
 //#include "IPv6ExtOptionType.cti"
 #endif
 
+\f
 // Local Variables:
 // mode: c++
 // fill-column: 100