First step of refactoring code (ccnx prefix => ndn prefix)
diff --git a/helper/ndn-global-routing-helper.h b/helper/ndn-global-routing-helper.h
new file mode 100644
index 0000000..ac92641
--- /dev/null
+++ b/helper/ndn-global-routing-helper.h
@@ -0,0 +1,103 @@
+/* -*- 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>
+ */
+
+#ifndef NDN_GLOBAL_ROUTING_HELPER_H
+#define NDN_GLOBAL_ROUTING_HELPER_H
+
+#include "ns3/ptr.h"
+
+namespace ns3 {
+
+class Node;
+class NodeContainer;
+class Channel;
+
+/**
+ * @ingroup ndn
+ * @brief Helper for NdnGlobalRouter interface
+ */
+class NdnGlobalRoutingHelper
+{
+public:
+  /**
+   * @brief Install NdnGlobalRouter interface on a node
+   *
+   * Note that NdnGlobalRouter will also be installed on all connected nodes and channels
+   *
+   * @param node Node to install NdnGlobalRouter interface
+   */
+  void
+  Install (Ptr<Node> node);
+
+  
+  /**
+   * @brief Install NdnGlobalRouter interface on nodes
+   *
+   * Note that NdnGlobalRouter will also be installed on all connected nodes and channels
+   *
+   * @param nodes NodeContainer to install NdnGlobalRouter interface
+   */
+  void
+  Install (const NodeContainer &nodes);
+
+  /**
+   * @brief Install NdnGlobalRouter interface on all nodes
+   */
+  void
+  InstallAll ();
+
+  /**
+   * @brief Add `prefix' as origin on `node'
+   * @param prefix Prefix that is originated by node, e.g., node is a producer for this prefix
+   * @param node   Pointer to a node
+   */
+  void
+  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
+   */
+  void
+  AddOrigin (const std::string &prefix, const std::string &nodeName);
+
+  /**
+   * @brief Calculate for every node shortest path trees and install routes to all prefix origins
+   */
+  void
+  CalculateRoutes ();
+
+private:
+  void
+  Install (Ptr<Channel> channel);
+};
+
+}
+
+#endif // NDN_GLOBAL_ROUTING_HELPER_H