aggregate PacketSocketFactory when requested to.
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 25 Mar 2008 14:15:56 -0700
changeset 2736 22ab60565251
parent 2735 f810ed605e00
child 2737 c692287f91da
aggregate PacketSocketFactory when requested to.
src/helper/packet-socket-helper.cc
src/helper/packet-socket-helper.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/helper/packet-socket-helper.cc	Tue Mar 25 14:15:56 2008 -0700
@@ -0,0 +1,17 @@
+#include "packet-socket-helper.h"
+#include "ns3/packet-socket-factory.h"
+
+namespace ns3 {
+
+void 
+PacketSocketHelper::Build (NodeContainer c)
+{
+  for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
+    {
+      Ptr<Node> node = *i;
+      Ptr<PacketSocketFactory> factory = CreateObject<PacketSocketFactory> ();
+      node->AggregateObject (factory);
+    }
+}
+
+} // namespace ns3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/helper/packet-socket-helper.h	Tue Mar 25 14:15:56 2008 -0700
@@ -0,0 +1,25 @@
+#ifndef PACKET_SOCKET_HELPER_H
+#define PACKET_SOCKET_HELPER_H
+
+#include "ns3/node-container.h"
+
+namespace ns3 {
+
+/**
+ * \brief Give ns3::PacketSocket powers to ns3::Node.
+ */
+class PacketSocketHelper
+{
+public:
+  /**
+   * \param c container of node pointers
+   *
+   * For each node in the input container, aggregate a ns3::PacketSocketFactory
+   * object instance.
+   */
+  void Build (NodeContainer c);
+};
+
+} // namespace ns3
+
+#endif /* PACKET_SOCKET_HELPER_H */