Simplified and unified implementation of RocketfuelWeightReader
diff --git a/model/rocketfuel-weights-reader.h b/model/rocketfuel-weights-reader.h
index 21c2144..2b73c11 100644
--- a/model/rocketfuel-weights-reader.h
+++ b/model/rocketfuel-weights-reader.h
@@ -19,72 +19,60 @@
  *         Ilya Moiseenko <iliamo@cs.ucla.edu>
  */
 
-#ifndef ROCKETFUEL_TOPOLOGY_READER_H
-#define ROCKETFUEL_TOPOLOGY_READER_H
+#ifndef ROCKETFUEL_TOPOLOGY_WEIGHTS_READER_H
+#define ROCKETFUEL_TOPOLOGY_WEIGHTS_READER_H
 
-#include "ns3/topology-reader.h"
+#include "annotated-topology-reader.h"
 #include "ns3/net-device-container.h"
 
 namespace ns3 {
     
-    
-    // ------------------------------------------------------------
-    // --------------------------------------------
-    /**
-     * \brief Topology file reader (Rocketfuel-format type).
-     *
-     * http://www.cs.washington.edu/research/networking/rocketfuel/
-     *
-     * May 2nd, 2010: Currently only support "weights" file and "cch" file.
-     * http://www.cs.washington.edu/research/networking/rocketfuel/maps/weights-dist.tar.gz
-     * http://www.cs.washington.edu/research/networking/rocketfuel/maps/rocketfuel_maps_cch.tar.gz
-     */
-    class RocketfuelWeightsReader : public TopologyReader
+// ------------------------------------------------------------
+// --------------------------------------------
+/**
+ * \brief Topology file reader (extension of Rocketfuel-format type).
+ *
+ * http://www.cs.washington.edu/research/networking/rocketfuel/
+ *
+ * Only weights and latencies file is supported
+ */
+class RocketfuelWeightsReader : public AnnotatedTopologyReader
+{
+public:
+  RocketfuelWeightsReader ();
+  virtual ~RocketfuelWeightsReader ();
+
+  void
+  SetFileType (uint8_t inputType);
+  
+  /**
+   * \brief Main topology reading function.
+   *
+   * This method opens an input stream and reads the Rocketfuel-format file.
+   * Every row represents a topology link (the ids of a couple of nodes),
+   * so the input file is read line by line to figure out how many links
+   * and nodes are in the topology.
+   *
+   * \return the container of the nodes created (or empty container if there was an error)
+   */
+  virtual NodeContainer Read (void);
+
+  enum
     {
-    public:
-        static TypeId GetTypeId (void);
-        
-        RocketfuelWeightsReader ();
-        virtual ~RocketfuelWeightsReader ();
-        
-        /**
-         * \brief Main topology reading function.
-         *
-         * This method opens an input stream and reads the Rocketfuel-format file.
-         * Every row represents a topology link (the ids of a couple of nodes),
-         * so the input file is read line by line to figure out how many links
-         * and nodes are in the topology.
-         *
-         * \return the container of the nodes created (or empty container if there was an error)
-         */
-        NodeContainer Read (std::string latenciesFile);
-        
-        virtual NodeContainer Read (void);
-        
-        void ApplySettings(NetDeviceContainer* ndc, NodeContainer* nc);
-        
-    private:
-        RocketfuelWeightsReader (const RocketfuelWeightsReader&);
-        RocketfuelWeightsReader& operator= (const RocketfuelWeightsReader&);
-        // Parser for the weights.* file available at:
-        // http://www.cs.washington.edu/research/networking/rocketfuel/maps/weights-dist.tar.gz
-        NodeContainer GenerateFromWeightsFile (int argc, char *argv[], char *argl[]);
-        
-        enum RF_FileType
-        {
-            RF_MAPS,
-            RF_WEIGHTS,
-            RF_UNKNOWN
-        };
-        enum RF_FileType GetFileType (const char *);
-        
-        // end class RocketfuelWeightsReader
+      WEIGHTS,
+      LATENCIES
     };
-    
-    // end namespace ns3
-};
+
+private:
+  RocketfuelWeightsReader (const RocketfuelWeightsReader&);
+  RocketfuelWeightsReader& operator= (const RocketfuelWeightsReader&);
+  
+private:
+  uint8_t m_inputType;
+  
+}; // end class RocketfuelWeightsReader
+
+}; // end namespace ns3
 
 
-#endif /* ROCKETFUEL_TOPOLOGY_READER_H */
-
-
+#endif /* ROCKETFUEL_TOPOLOGY_WEIGHTS_READER_H */