src/devices/point-to-point/point-to-point-helper.h
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Thu, 14 Feb 2008 23:56:54 +0100
changeset 2418 4ff45fa08781
child 2433 3a98e1db7f80
permissions -rw-r--r--
an initial draft of helper classes. don't work yet.

#ifndef POINT_TO_POINT_HELPER_H
#define POINT_TO_POINT_HELPER_H

#include "ns3/object-factory.h"
#include "ns3/net-device-container.h"
#include "ns3/node-container.h"
#include <string>

namespace ns3 {

class PointToPointHelper
{
public:
  // by default, create queues of type DropTailQueue.
  PointToPointHelper ();

  void SetQueue (std::string type,
		 std::string n1 = "", PValue v1 = PValue (),
		 std::string n2 = "", PValue v2 = PValue (),
		 std::string n3 = "", PValue v3 = PValue (),
		 std::string n4 = "", PValue v4 = PValue ());

  /**
   * Set these parameters on each PointToPointNetDevice created
   * by this helper.
   */
  void SetDeviceParameters (std::string n1, PValue v1,
			    std::string n2 = "", PValue v2 = PValue (),
			    std::string n3 = "", PValue v3 = PValue (),
			    std::string n4 = "", PValue v4 = PValue ());

  NetDeviceContainer Build (NodeContainer c);
  NetDeviceContainer Build (Ptr<Node> a, Ptr<Node> b);

private:
  ObjectFactory m_queueFactory;
};


} // namespace ns3

#endif /* POINT_TO_POINT_HELPER_H */