A Discrete-Event Network Simulator
API
packet-socket-helper.cc
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 INRIA
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation;
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16  *
17  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18  */
19 
20 #include "packet-socket-helper.h"
21 
22 #include "ns3/names.h"
23 #include "ns3/packet-socket-factory.h"
24 
25 namespace ns3
26 {
27 
28 void
30 {
31  for (auto i = c.Begin(); i != c.End(); ++i)
32  {
33  Install(*i);
34  }
35 }
36 
37 void
39 {
40  Ptr<PacketSocketFactory> factory = CreateObject<PacketSocketFactory>();
41  node->AggregateObject(factory);
42 }
43 
44 void
45 PacketSocketHelper::Install(std::string nodeName) const
46 {
47  Ptr<Node> node = Names::Find<Node>(nodeName);
48  Install(node);
49 }
50 
51 } // namespace ns3
keep track of a set of node pointers.
Iterator End() const
Get an iterator which indicates past-the-last Node in the container.
Iterator Begin() const
Get an iterator which refers to the first Node in the container.
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
Definition: object.cc:259
void Install(std::string nodeName) const
Aggregate an instance of a ns3::PacketSocketFactory onto the provided node.
void Install(Ptr< Node > node) const
Aggregate an instance of a ns3::PacketSocketFactory onto the provided node.
Every class exported by the ns3 library is enclosed in the ns3 namespace.