Annotated topology reader added and external dependencies to modules 'topology-reader', 'visualiziation' added to wscript

diff --git a/model/annotated-topology-reader.h b/model/annotated-topology-reader.h
new file mode 100644
index 0000000..f979aba
--- /dev/null
+++ b/model/annotated-topology-reader.h
@@ -0,0 +1,65 @@
+/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * 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
+ *
+ * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+
+#ifndef __ANNOTATED_TOPOLOGY_READER_H__
+#define __ANNOTATED_TOPOLOGY_READER_H__
+
+#include "ns3/nstime.h"
+#include "ns3/topology-reader.h"
+
+namespace ns3 
+{
+    /**
+     * Input File Format
+     * 1st line is     NumberOfNodes    TAB     NumberofLinks
+     * Nth line is     NodeID1  TAB    NodeID2   TAB  DataRateKBPS    TAB    DelayMiliseconds   TAB   QueueSizeInPackets1     TAB    QueueSizeInPackets2 
+     *
+     */
+    class AnnotatedTopologyReader : public TopologyReader
+    {
+    public:
+        typedef std::list< Link >::iterator LinksIterator;
+        static TypeId GetTypeId (void);
+        
+        AnnotatedTopologyReader ();
+        virtual ~AnnotatedTopologyReader ();
+        
+        /**
+         * \brief Main topology reading function.
+         *
+         * This method opens an input stream and reads the Orbis-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);
+        
+    private:
+        AnnotatedTopologyReader (const AnnotatedTopologyReader&);
+        AnnotatedTopologyReader& operator= (const AnnotatedTopologyReader&);
+    };
+}
+
+
+#endif
+
+