A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
wifi-helper.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2008 INRIA
4
* Copyright (c) 2009 MIRKO BANCHI
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation;
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
*
19
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
20
* Author: Mirko Banchi <mk.banchi@gmail.com>
21
*/
22
#ifndef WIFI_HELPER_H
23
#define WIFI_HELPER_H
24
25
#include <string>
26
#include "ns3/attribute.h"
27
#include "ns3/object-factory.h"
28
#include "ns3/node-container.h"
29
#include "ns3/net-device-container.h"
30
#include "ns3/wifi-phy-standard.h"
31
#include "ns3/trace-helper.h"
32
33
namespace
ns3 {
34
35
class
WifiPhy;
36
class
WifiMac;
37
class
WifiNetDevice;
38
class
Node;
39
46
class
WifiPhyHelper
47
{
48
public
:
49
virtual
~WifiPhyHelper
();
50
59
virtual
Ptr<WifiPhy>
Create
(
Ptr<Node>
node,
Ptr<WifiNetDevice>
device)
const
= 0;
60
};
61
68
class
WifiMacHelper
69
{
70
public
:
71
virtual
~WifiMacHelper
();
78
virtual
Ptr<WifiMac>
Create
(
void
)
const
= 0;
79
};
80
88
class
WifiHelper
89
{
90
public
:
95
WifiHelper
();
96
104
static
WifiHelper
Default
(
void
);
105
128
void
SetRemoteStationManager
(std::string type,
129
std::string n0 =
""
,
const
AttributeValue
&v0 =
EmptyAttributeValue
(),
130
std::string n1 =
""
,
const
AttributeValue
&v1 =
EmptyAttributeValue
(),
131
std::string n2 =
""
,
const
AttributeValue
&v2 =
EmptyAttributeValue
(),
132
std::string n3 =
""
,
const
AttributeValue
&v3 =
EmptyAttributeValue
(),
133
std::string n4 =
""
,
const
AttributeValue
&v4 =
EmptyAttributeValue
(),
134
std::string n5 =
""
,
const
AttributeValue
&v5 =
EmptyAttributeValue
(),
135
std::string n6 =
""
,
const
AttributeValue
&v6 =
EmptyAttributeValue
(),
136
std::string n7 =
""
,
const
AttributeValue
&v7 =
EmptyAttributeValue
());
143
NetDeviceContainer
Install
(
const
WifiPhyHelper
&phy,
144
const
WifiMacHelper
&mac,
NodeContainer
c)
const
;
151
NetDeviceContainer
Install
(
const
WifiPhyHelper
&phy,
152
const
WifiMacHelper
&mac,
Ptr<Node>
node)
const
;
159
NetDeviceContainer
Install
(
const
WifiPhyHelper
&phy,
160
const
WifiMacHelper
&mac, std::string nodeName)
const
;
161
167
void
SetStandard
(
enum
WifiPhyStandard
standard);
168
172
static
void
EnableLogComponents
(
void
);
173
188
int64_t
AssignStreams
(
NetDeviceContainer
c, int64_t stream);
189
190
private
:
191
ObjectFactory
m_stationManager
;
192
enum
WifiPhyStandard
m_standard
;
193
};
194
195
}
// namespace ns3
196
197
#endif
/* WIFI_HELPER_H */
ns3::WifiPhyHelper::~WifiPhyHelper
virtual ~WifiPhyHelper()
Definition:
wifi-helper.cc:47
ns3::Ptr< WifiPhy >
ns3::WifiHelper::SetRemoteStationManager
void SetRemoteStationManager(std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
Definition:
wifi-helper.cc:69
ns3::AttributeValue
Hold a value for an Attribute.
Definition:
attribute.h:56
ns3::WifiPhyHelper
create PHY objects
Definition:
wifi-helper.h:46
ns3::WifiMacHelper::Create
virtual Ptr< WifiMac > Create(void) const =0
ns3::WifiHelper
helps to create WifiNetDevice objects
Definition:
wifi-helper.h:88
ns3::WifiHelper::WifiHelper
WifiHelper()
Definition:
wifi-helper.cc:55
ns3::WifiHelper::Install
NetDeviceContainer Install(const WifiPhyHelper &phy, const WifiMacHelper &mac, NodeContainer c) const
Definition:
wifi-helper.cc:98
ns3::WifiPhyStandard
WifiPhyStandard
Definition:
wifi-phy-standard.h:30
ns3::EmptyAttributeValue
A class for an empty attribute value.
Definition:
attribute.h:222
ns3::NetDeviceContainer
holds a vector of ns3::NetDevice pointers
Definition:
net-device-container.h:41
ns3::WifiHelper::SetStandard
void SetStandard(enum WifiPhyStandard standard)
Definition:
wifi-helper.cc:92
ns3::WifiHelper::AssignStreams
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Definition:
wifi-helper.cc:173
ns3::NodeContainer
keep track of a set of node pointers.
Definition:
node-container.h:38
ns3::WifiHelper::m_stationManager
ObjectFactory m_stationManager
Definition:
wifi-helper.h:191
ns3::WifiPhyHelper::Create
virtual Ptr< WifiPhy > Create(Ptr< Node > node, Ptr< WifiNetDevice > device) const =0
ns3::WifiMacHelper
create MAC objects
Definition:
wifi-helper.h:68
ns3::ObjectFactory
instantiate subclasses of ns3::Object.
Definition:
object-factory.h:39
ns3::WifiHelper::EnableLogComponents
static void EnableLogComponents(void)
Definition:
wifi-helper.cc:138
ns3::WifiMacHelper::~WifiMacHelper
virtual ~WifiMacHelper()
Definition:
wifi-helper.cc:51
ns3::WifiHelper::m_standard
enum WifiPhyStandard m_standard
Definition:
wifi-helper.h:192
ns3::WifiHelper::Default
static WifiHelper Default(void)
Definition:
wifi-helper.cc:61
src
wifi
helper
wifi-helper.h
Generated on Sat Nov 16 2013 12:55:39 for ns-3 by
1.8.5