Packets: Fix VariantParser invalid parser access bug
[senf.git] / PPI / SocketSource.hh
index b054436..49c863f 100644 (file)
@@ -1,8 +1,8 @@
 // $Id$
 //
-// Copyright (C) 2007 
-// Fraunhofer Institute for Open Communication Systems (FOKUS) 
-// Competence Center NETwork research (NET), St. Augustin, GERMANY 
+// 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
@@ -23,8 +23,8 @@
 /** \file
     \brief SocketSource public header */
 
-#ifndef HH_SocketSource_
-#define HH_SocketSource_ 1
+#ifndef HH_SENF_PPI_SocketSource_
+#define HH_SENF_PPI_SocketSource_ 1
 
 // Custom includes
 #include "../Packets/Packets.hh"
@@ -53,6 +53,7 @@ namespace ppi {
     class DgramReader
     {
     public:
+        typedef Packet PacketType;
         typedef senf::ClientSocketHandle<
             senf::MakeSocketPolicy< senf::ReadablePolicy,
                                     senf::DatagramFramingPolicy >::policy > Handle;
@@ -82,7 +83,7 @@ namespace module {
         \code
         senf::ppi::module::ActiveSocketSource< senf::ppi::DgramReader<senf::EthernetPacket> > source;
         \endcode
-        declares a \a reader module reading senf::EthrtnetPacket's.
+        declares a \a reader module reading senf::EthernetPacket's
 
         A \a Reader must fulfill the following interface:
         \code
@@ -111,7 +112,8 @@ namespace module {
     public:
         typedef typename Reader::Handle Handle; ///< Handle type requested by the reader
 
-        connector::ActiveOutput output; ///< Output connector to which the data received is written
+        connector::ActiveOutput<typename Reader::PacketType> output; 
+                                        ///< Output connector to which the data received is written
         
         ActiveSocketSource(Handle handle); ///< Create new reader for the given handle
                                         /**< Data will be read from \a handle and be parsed by \a
@@ -127,9 +129,6 @@ namespace module {
 
         Reader & reader();              ///< Access Reader helper
         
-        void replaceHandle(Handle newHandle);
-                                        ///< Replace the handle from which the packets are read
-
     private:
         void read();