A Discrete-Event Network Simulator
API
lr-wpan-helper.h
Go to the documentation of this file.
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2011 The Boeing Company
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Authors:
19 * Gary Pei <guangyu.pei@boeing.com>
20 * Tom Henderson <thomas.r.henderson@boeing.com>
21 */
22#ifndef LR_WPAN_HELPER_H
23#define LR_WPAN_HELPER_H
24
25#include <ns3/node-container.h>
26#include <ns3/lr-wpan-phy.h>
27#include <ns3/lr-wpan-mac.h>
28#include <ns3/trace-helper.h>
29
30namespace ns3 {
31
32class SpectrumChannel;
33class MobilityModel;
34
51{
52public:
61 LrWpanHelper (void);
62
71 LrWpanHelper (bool useMultiModelSpectrumChannel);
72
73 virtual ~LrWpanHelper (void);
74
75 // Delete copy constructor and assignment operator to avoid misuse
76 LrWpanHelper (const LrWpanHelper &) = delete;
78
84
90
95 void SetChannel (std::string channelName);
96
103
110
117 void AssociateToPan (NetDeviceContainer c, uint16_t panId);
118
130 void AssociateToBeaconPan (NetDeviceContainer c, uint16_t panId, Mac16Address coor, uint8_t bcnOrd, uint8_t sfrmOrd);
131
135 void EnableLogComponents (void);
136
143
149 static std::string LrWpanMacStatePrinter (LrWpanMacState e);
150
162 int64_t AssignStreams (NetDeviceContainer c, int64_t stream);
163
164private:
176 virtual void EnablePcapInternal (std::string prefix, Ptr<NetDevice> nd, bool promiscuous, bool explicitFilename);
177
190 std::string prefix,
192 bool explicitFilename);
193
194private:
196
197};
198
199}
200
201#endif /* LR_WPAN_HELPER_H */
Base class providing common user-level ascii trace operations for helpers representing net devices.
Definition: trace-helper.h:643
helps to manage and create IEEE 802.15.4 NetDevice objects
virtual void EnableAsciiInternal(Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename)
Enable ascii trace output on the indicated net device.
Ptr< SpectrumChannel > m_channel
channel to be used for the devices
void SetChannel(Ptr< SpectrumChannel > channel)
Set the channel associated to this helper.
static std::string LrWpanPhyEnumerationPrinter(LrWpanPhyEnumeration e)
Transform the LrWpanPhyEnumeration enumeration into a printable string.
void AssociateToPan(NetDeviceContainer c, uint16_t panId)
Associate the nodes to the same PAN.
LrWpanHelper(const LrWpanHelper &)=delete
void AssociateToBeaconPan(NetDeviceContainer c, uint16_t panId, Mac16Address coor, uint8_t bcnOrd, uint8_t sfrmOrd)
Associate the nodes to the same PAN and initiate beacon enabled mode.
LrWpanHelper & operator=(const LrWpanHelper &)=delete
NetDeviceContainer Install(NodeContainer c)
Install a LrWpanNetDevice and the associated structures (e.g., channel) in the nodes.
void EnableLogComponents(void)
Helper to enable all LrWpan log components with one statement.
virtual void EnablePcapInternal(std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename)
Enable pcap output on the indicated net device.
LrWpanHelper(void)
Create a LrWpan helper in an empty state.
Ptr< SpectrumChannel > GetChannel(void)
Get the channel associated to this helper.
void AddMobility(Ptr< LrWpanPhy > phy, Ptr< MobilityModel > m)
Add mobility model to a physical device.
static std::string LrWpanMacStatePrinter(LrWpanMacState e)
Transform the LrWpanMacState enumeration into a printable string.
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
virtual ~LrWpanHelper(void)
This class can contain 16 bit addresses.
Definition: mac16-address.h:42
holds a vector of ns3::NetDevice pointers
keep track of a set of node pointers.
Base class providing common user-level pcap operations for helpers representing net devices.
Definition: trace-helper.h:554
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
LrWpanMacState
MAC states.
Definition: lr-wpan-mac.h:70
LrWpanPhyEnumeration
IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3.
Definition: lr-wpan-phy.h:108
Every class exported by the ns3 library is enclosed in the ns3 namespace.
channel
Definition: third.py:92
phy
Definition: third.py:93