Small extension of CcnxGlobalRoutingHelper. Removing some old examples
diff --git a/apps/ccnx-app.h b/apps/ccnx-app.h
index cf333a4..c83ee0f 100644
--- a/apps/ccnx-app.h
+++ b/apps/ccnx-app.h
@@ -91,7 +91,7 @@
   virtual void
   DoDispose ();
 
-  // inherited from Application base class.
+  // inherited from Application base class. Originally they were private
   virtual void
   StartApplication ();    // Called at time specified by Start
 
diff --git a/bindings/modulegen__gcc_ILP32.py b/bindings/modulegen__gcc_ILP32.py
index 981408f..000c698 100644
--- a/bindings/modulegen__gcc_ILP32.py
+++ b/bindings/modulegen__gcc_ILP32.py
@@ -1364,6 +1364,10 @@
     cls.add_method('AddOrigin', 
                    'void', 
                    [param('std::string const &', 'prefix'), param('std::string const &', 'nodeName')])
+    ## ccnx-global-routing-helper.h (module 'NDNabstraction'): void ns3::CcnxGlobalRoutingHelper::AddOrigins(std::string const & prefix, ns3::NodeContainer const & nodes) [member function]
+    cls.add_method('AddOrigins', 
+                   'void', 
+                   [param('std::string const &', 'prefix'), param('ns3::NodeContainer const &', 'nodes')])
     ## ccnx-global-routing-helper.h (module 'NDNabstraction'): void ns3::CcnxGlobalRoutingHelper::CalculateRoutes() [member function]
     cls.add_method('CalculateRoutes', 
                    'void', 
@@ -4728,12 +4732,12 @@
     cls.add_method('StartApplication', 
                    'void', 
                    [], 
-                   visibility='protected', is_virtual=True)
+                   visibility='private', is_virtual=True)
     ## application.h (module 'network'): void ns3::Application::StopApplication() [member function]
     cls.add_method('StopApplication', 
                    'void', 
                    [], 
-                   visibility='protected', is_virtual=True)
+                   visibility='private', is_virtual=True)
     return
 
 def register_Ns3AttributeAccessor_methods(root_module, cls):
diff --git a/examples/ccnx-pcap-example.cc b/examples/ccnx-pcap-example.cc
deleted file mode 100644
index f3f9fc8..0000000
--- a/examples/ccnx-pcap-example.cc
+++ /dev/null
@@ -1,110 +0,0 @@
-/* -*- 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>
- */
-
-#include <ctime>
-#include <sstream>
-
-#include "ns3/core-module.h"
-#include "ns3/network-module.h"
-#include "ns3/internet-module.h"
-#include "ns3/point-to-point-module.h"
-#include "ns3/applications-module.h"
-#include "ns3/ipv4-static-routing-helper.h"
-#include "ns3/ipv4-list-routing-helper.h"
-#include "ns3/annotated-topology-reader.h"
-#include <list>
-//#include "ns3/visualizer-module.h"
-#include "ns3/ccnx-consumer-helper.h"
-#include "ns3/ccnx-stack-helper.h"
-
-using namespace ns3;
-using namespace std;
-
-NS_LOG_COMPONENT_DEFINE ("CcnxPcapExample");
-
-int main (int argc, char *argv[])
-{
-    Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("10Mbps"));
-    Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("1ms"));
-    
-    NodeContainer c;
-    c.Create (2);
-    
-    NodeContainer n1 = NodeContainer (c.Get (0), c.Get (1));
-    
-    PointToPointHelper p2p;
-    NetDeviceContainer ndc1 = p2p.Install (n1);
-    
-//    CcnxStackHelper ccnx;
-//    Ptr<CcnxFaceContainer> cf = ccnx.Install (c);
-
-    //Ipv4AddressHelper ipv4;
-    //ipv4.SetBase ("192.168.1.0", "255.255.255.0");
-    //Ipv4InterfaceContainer i1 = ipv4.Assign (ndc1);
-    
-    CcnxInterestHeader header;
-    Ptr<CcnxNameComponents> testname = Create<CcnxNameComponents> ();
-    (*testname) ("test") ("test2");
-    header.SetName (testname);
-    header.SetNonce (1);
-
-    Packet packet (0);
-    packet.AddHeader (header);
-    
-    Ptr<Node> nd = c.Get(0);
-    Ptr<PointToPointNetDevice> device = nd->GetDevice(nd->GetNDevices()-1)->GetObject<PointToPointNetDevice> ();
-    
-   
-    
-    Ptr<CcnxNameComponents> testname2 = Create<CcnxNameComponents> ();
-    (*testname2) ("test3") ("test4");
-    header.SetName (testname2);
-    header.SetNonce (2);
-    Packet packet2 (0);
-    packet2.AddHeader (header);
-    
-    
-    p2p.EnablePcapAll("pcap-example.pcap");
-    
-    Simulator::Stop (Seconds (20));
-    
-    //NS_LOG_INFO ("Run Simulation.");
-    NS_LOG_INFO("Size1 = " << packet.GetSize());
-    NS_LOG_INFO("Size2 = " << packet2.GetSize());
-    device->Send(packet.Copy(),device->GetBroadcast(),0x7777);
-    NS_LOG_INFO(device->IsLinkUp());
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    NS_LOG_INFO(device->IsLinkUp());
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    NS_LOG_INFO(device->IsLinkUp());
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    device->Send(packet2.Copy(),device->GetBroadcast(),0x7777);
-    NS_LOG_INFO ("Run Simulation.");
-    Simulator::Run ();
-    Simulator::Destroy ();
-    NS_LOG_INFO ("Done.");
-}
diff --git a/examples/ccnx-routing-simple.cc b/examples/ccnx-routing-simple.cc
deleted file mode 100644
index 29fd49f..0000000
--- a/examples/ccnx-routing-simple.cc
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2011 UCLA
- *
- * 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: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- */
-
-#include "ns3/network-module.h"
-#include "ns3/core-module.h"
-#include "ns3/internet-module.h"
-#include "ns3/ipv4-global-routing-helper.h"
-#include "ns3/point-to-point-grid.h"
-#include "ns3/ipv4-global-routing-helper.h"
-#include "ns3/applications-module.h"
-#include "ns3/NDNabstraction-module.h"
-
-using namespace ns3;
-
-NS_LOG_COMPONENT_DEFINE ("SimpleRouting");
-
-// Parameters
-uint32_t nNodes = 2;
-uint32_t stopTime = 60;
-
-// void TestDisable (Ptr<Node> node)
-// {
-//   NS_LOG_FUNCTION (node->GetId ());
-  
-//   Ptr<Ipv4> ipv4 = node->GetObject<Ipv4> ();
-//   NS_ASSERT_MSG (ipv4 != 0, "ipv4 should not be null");
-
-//   // The thing I didn't know is that interface status (isUp/isDown) and device status (isLinkUp) are two totally different things.  It is possible to set interface up and down, but there is not an easy way to alter status of device. This similar to reality: it is possible to programmatically disable interface, but to actually disable a link one needs to physically cut the cable
-//   ipv4->SetDown (2);
-// }
-
-void PrintCcnxFib (Ptr<Node> node, Ptr<OutputStreamWrapper> wrapper)
-{
-  Ptr<CcnxFib> fib = node->GetObject<CcnxFib> ();
-  *wrapper->GetStream () << *fib;
-}
-
-int main (int argc, char *argv[])
-{
-  CommandLine cmd;
-  cmd.AddValue ("nNodes", "Number of Router nodes", nNodes);
-  cmd.AddValue ("stopTime", "Time to stop(seconds)", stopTime);
-  cmd.Parse (argc, argv);
-
-  InternetStackHelper stack;
-  CcnxStackHelper ccnxHelper;
-
-  Ipv4GlobalRoutingHelper ipv4RoutingHelper ("ns3::Ipv4GlobalRoutingOrderedNexthops");
-  // Ipv4GlobalRoutingHelper ipv4RoutingHelper ("ns3::Ipv4GlobalRoutingUnorderedNexthops");
-  stack.SetRoutingHelper (ipv4RoutingHelper);
-
-  PointToPointHelper p2p;
-
-  PointToPointGridHelper grid (nNodes, nNodes, p2p);
-  grid.BoundingBox(100,100,270,270);
-  grid.InstallStack (stack);
-  
-  grid.AssignIpv4Addresses (
-                            Ipv4AddressHelper("10.1.0.0", "255.255.255.0"),
-                            Ipv4AddressHelper("10.2.0.0", "255.255.255.0")
-                            );
-
-
-  ccnxHelper.InstallAll ();
-  ccnxHelper.InstallFakeGlobalRoutes ();
-  // ccnxHelper.InstallRouteTo (grid.GetNode (0,0));
-  ccnxHelper.InstallRoutesToAll ();
-
-  // Trace routing tables 
-  Ptr<OutputStreamWrapper> routingStream = Create<OutputStreamWrapper> ("routes.log", std::ios::out);
-  *routingStream->GetStream () << "Node (1,1)\n";
-  ipv4RoutingHelper.PrintRoutingTableAt (Seconds (20), grid.GetNode (1,1), routingStream);
-
-  Simulator::ScheduleWithContext (grid.GetNode (1,1)->GetId (),
-                                  Seconds (20.0), PrintCcnxFib, grid.GetNode (1,1), routingStream);
-  
-  Simulator::Stop (Seconds(160.0));
-  Simulator::Run ();
-  Simulator::Destroy ();
-
-  NS_LOG_INFO ("End of experiment");
-
-  return 0;
-}
diff --git a/helper/ccnx-global-routing-helper.cc b/helper/ccnx-global-routing-helper.cc
index 7adbc84..908937e 100644
--- a/helper/ccnx-global-routing-helper.cc
+++ b/helper/ccnx-global-routing-helper.cc
@@ -189,6 +189,17 @@
 }
 
 void
+CcnxGlobalRoutingHelper::AddOrigins (const std::string &prefix, const NodeContainer &nodes)
+{
+  for (NodeContainer::Iterator node = nodes.Begin ();
+       node != nodes.End ();
+       node++)
+    {
+      AddOrigin (prefix, *node);
+    }
+}
+
+void
 CcnxGlobalRoutingHelper::AddOrigin (const std::string &prefix, const std::string &nodeName)
 {
   Ptr<Node> node = Names::Find<Node> (nodeName);
diff --git a/helper/ccnx-global-routing-helper.h b/helper/ccnx-global-routing-helper.h
index 92c10c6..1bf4b59 100644
--- a/helper/ccnx-global-routing-helper.h
+++ b/helper/ccnx-global-routing-helper.h
@@ -72,6 +72,14 @@
   AddOrigin (const std::string &prefix, Ptr<Node> node);
 
   /**
+   * @brief Add `prefix' as origin on all `nodes'
+   * @param prefix Prefix that is originated by nodes
+   * @param nodes NodeContainer
+   */
+  void
+  AddOrigins (const std::string &prefix, const NodeContainer &nodes);
+  
+  /**
    * @brief Add `prefix' as origin on node `nodeName'
    * @param prefix     Prefix that is originated by node, e.g., node is a producer for this prefix
    * @param nodeName   Name of the node that is associated with Ptr<Node> using ns3::Names