Bug 962 - list of paths to reach objects contains bogus entries

This commit is contained in:
Mitch Watrous
2011-09-27 16:29:09 -07:00
parent 05c51b6ee1
commit 800be624ef
33 changed files with 228 additions and 4 deletions

View File

@@ -278,7 +278,7 @@ Default values and command-line arguments
+++++++++++++++++++++++++++++++++++++++++
Let's look at how a user script might access these values.
This is based on the script found at ``src/core/examples/main-attribute-value.cc``,
This is based on the script found at ``src/point-to-point/examples/main-attribute-value.cc``,
with some details stripped out.::
//

34
src/uan/model/uan-mac.cc Normal file
View File

@@ -0,0 +1,34 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2011 University of Washington
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Mitch Watrous <watrous@u.washington.edu>
*/
#include "uan-mac.h"
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (UanMac);
TypeId UanMac::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanMac")
.SetParent<Object> ();
return tid;
}
} // namespace ns3

View File

@@ -47,6 +47,8 @@ class UanAddress;
class UanMac : public Object
{
public:
static TypeId GetTypeId (void);
/**
* \returns MAC Address
*/

View File

@@ -22,6 +22,15 @@
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (UanNoiseModel);
TypeId UanNoiseModel::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanNoiseModel")
.SetParent<Object> ();
return tid;
}
void
UanNoiseModel::Clear (void)
{

View File

@@ -28,6 +28,8 @@ namespace ns3 {
class UanNoiseModel : public Object
{
public:
static TypeId GetTypeId (void);
/**
* \param fKhz Frequency in kHz
* \returns Noise power in dB re 1uPa/Hz

View File

@@ -22,6 +22,15 @@
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (UanPhyCalcSinr);
TypeId UanPhyCalcSinr::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanPhyCalcSinr")
.SetParent<Object> ();
return tid;
}
void
UanPhyCalcSinr::Clear ()
{
@@ -34,6 +43,15 @@ UanPhyCalcSinr::DoDispose ()
Object::DoDispose ();
}
NS_OBJECT_ENSURE_REGISTERED (UanPhyPer);
TypeId UanPhyPer::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanPhyPer")
.SetParent<Object> ();
return tid;
}
void
UanPhyPer::Clear ()
{
@@ -46,4 +64,13 @@ UanPhyPer::DoDispose ()
Object::DoDispose ();
}
NS_OBJECT_ENSURE_REGISTERED (UanPhy);
TypeId UanPhy::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanPhy")
.SetParent<Object> ();
return tid;
}
} // namespace ns3

View File

@@ -44,6 +44,8 @@ class UanPhyCalcSinr : public Object
{
public:
static TypeId GetTypeId (void);
/**
* \param pkt Packet to calculate SINR for
* \param arrTime Arrival time of pkt
@@ -97,6 +99,8 @@ public:
class UanPhyPer : public Object
{
public:
static TypeId GetTypeId (void);
/**
* Calculates the prob. of packet error based on
* SINR at the receiver and a tx mode.
@@ -163,6 +167,8 @@ public:
class UanPhy : public Object
{
public:
static TypeId GetTypeId (void);
// / Enum defining possible Phy states
enum State
{

View File

@@ -38,7 +38,7 @@ TypeId
UanPropModelIdeal::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanPropModelIdeal")
.SetParent<Object> ()
.SetParent<UanPropModel> ()
.AddConstructor<UanPropModelIdeal> ()
;
return tid;

View File

@@ -336,6 +336,15 @@ UanPdp::CreateImpulsePdp (void)
return pdp;
}
NS_OBJECT_ENSURE_REGISTERED (UanPropModel);
TypeId UanPropModel::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanPropModel")
.SetParent<Object> ();
return tid;
}
void
UanPropModel::Clear (void)
{

View File

@@ -216,6 +216,8 @@ std::istream &operator>> (std::ostream &is, UanPdp &pdp);
class UanPropModel : public Object
{
public:
static TypeId GetTypeId (void);
/**
* Computes pathloss between nodes a and b.
* \returns Pathloss in dB re 1 uPa

View File

@@ -0,0 +1,34 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2011 University of Washington
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Mitch Watrous <watrous@u.washington.edu>
*/
#include "uan-transducer.h"
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (UanTransducer);
TypeId UanTransducer::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UanTransducer")
.SetParent<Object> ();
return tid;
}
} // namespace ns3

View File

@@ -123,6 +123,8 @@ private:
class UanTransducer : public Object
{
public:
static TypeId GetTypeId (void);
/**
* \brief Transducer state (receiving or transmitting)
*/

View File

@@ -5,6 +5,8 @@ def build(bld):
module.source = [
'model/uan-channel.cc',
'model/uan-phy-gen.cc',
'model/uan-mac.cc',
'model/uan-transducer.cc',
'model/uan-transducer-hd.cc',
'model/uan-address.cc',
'model/uan-net-device.cc',

View File

@@ -37,6 +37,15 @@ NS_LOG_COMPONENT_DEFINE ("BandwidthManager");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (BandwidthManager);
TypeId BandwidthManager::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::BandwidthManager")
.SetParent<Object> ();
return tid;
}
BandwidthManager::BandwidthManager (Ptr<WimaxNetDevice> device)
: m_device (device),
m_nrBwReqsSent (0)

View File

@@ -54,6 +54,7 @@ class UplinkScheduler;
class BandwidthManager : public Object
{
public:
static TypeId GetTypeId (void);
BandwidthManager (Ptr<WimaxNetDevice> device);
~BandwidthManager (void);
void DoDispose (void);

View File

@@ -36,7 +36,14 @@ NS_LOG_COMPONENT_DEFINE ("BSLinkManager");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED ( BSLinkManager);
NS_OBJECT_ENSURE_REGISTERED (BSLinkManager);
TypeId BSLinkManager::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::BSLinkManager")
.SetParent<Object> ();
return tid;
}
BSLinkManager::BSLinkManager (Ptr<BaseStationNetDevice> bs)
: m_bs (bs),

View File

@@ -38,6 +38,7 @@ namespace ns3 {
class BSLinkManager : public Object
{
public:
static TypeId GetTypeId (void);
BSLinkManager (Ptr<BaseStationNetDevice> bs);
~BSLinkManager (void);
/**

View File

@@ -31,6 +31,15 @@ NS_LOG_COMPONENT_DEFINE ("BurstProfileManager");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (BurstProfileManager);
TypeId BurstProfileManager::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::BurstProfileManager")
.SetParent<Object> ();
return tid;
}
BurstProfileManager::BurstProfileManager (Ptr<WimaxNetDevice> device)
: m_device (device)
{

View File

@@ -37,6 +37,7 @@ class RngReq;
class BurstProfileManager : public Object
{
public:
static TypeId GetTypeId (void);
BurstProfileManager (Ptr<WimaxNetDevice> device);
~BurstProfileManager (void);
void DoDispose (void);

View File

@@ -35,6 +35,15 @@ NS_LOG_COMPONENT_DEFINE ("ConnectionManager");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (ConnectionManager);
TypeId ConnectionManager::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ConnectionManager")
.SetParent<Object> ();
return tid;
}
ConnectionManager::ConnectionManager (void)
: m_cidFactory (0)
{

View File

@@ -44,6 +44,7 @@ class SubscriberStationNetDevice;
class ConnectionManager : public Object
{
public:
static TypeId GetTypeId (void);
ConnectionManager (void);
~ConnectionManager (void);
void DoDispose (void);

View File

@@ -35,6 +35,15 @@ NS_LOG_COMPONENT_DEFINE ("IpcsClassifier");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (IpcsClassifier);
TypeId IpcsClassifier::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::IpcsClassifier")
.SetParent<Object> ();
return tid;
}
IpcsClassifier::IpcsClassifier (void)
{
}

View File

@@ -37,6 +37,7 @@ class SsServiceFlowManager;
class IpcsClassifier : public Object
{
public:
static TypeId GetTypeId (void);
IpcsClassifier (void);
~IpcsClassifier (void);
/**

View File

@@ -43,6 +43,15 @@ NS_LOG_COMPONENT_DEFINE ("ServiceFlowManager");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (ServiceFlowManager);
TypeId ServiceFlowManager::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ServiceFlowManager")
.SetParent<Object> ();
return tid;
}
ServiceFlowManager::ServiceFlowManager ()
{
m_serviceFlows = new std::vector<ServiceFlow*>;

View File

@@ -47,6 +47,8 @@ public:
CONFIRMATION_CODE_SUCCESS, CONFIRMATION_CODE_REJECT
};
static TypeId GetTypeId (void);
ServiceFlowManager ();
~ServiceFlowManager (void);
void DoDispose (void);

View File

@@ -35,6 +35,15 @@ NS_LOG_COMPONENT_DEFINE ("SSLinkManager");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (SSLinkManager);
TypeId SSLinkManager::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::SSLinkManager")
.SetParent<Object> ();
return tid;
}
SSLinkManager::SSLinkManager (Ptr<SubscriberStationNetDevice> ss)
: m_ss (ss),
m_rangingStatus (WimaxNetDevice::RANGING_STATUS_EXPIRED),

View File

@@ -41,6 +41,7 @@ namespace ns3 {
class SSLinkManager : public Object
{
public:
static TypeId GetTypeId (void);
SSLinkManager (Ptr<SubscriberStationNetDevice> ss);
~SSLinkManager (void);
void DoDispose (void);

View File

@@ -28,7 +28,14 @@
NS_LOG_COMPONENT_DEFINE ("SSManager");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED ( SSManager);
NS_OBJECT_ENSURE_REGISTERED (SSManager);
TypeId SSManager::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::SSManager")
.SetParent<Object> ();
return tid;
}
SSManager::SSManager (void)
{

View File

@@ -37,6 +37,7 @@ namespace ns3 {
class SSManager : public Object
{
public:
static TypeId GetTypeId (void);
SSManager (void);
~SSManager (void);
SSRecord* CreateSSRecord (const Mac48Address &macAddress);

View File

@@ -36,6 +36,13 @@ NS_LOG_COMPONENT_DEFINE ("SSScheduler");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (SSScheduler);
TypeId SSScheduler::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::SSScheduler")
.SetParent<Object> ();
return tid;
}
SSScheduler::SSScheduler (Ptr<SubscriberStationNetDevice> ss)
: m_ss (ss),
m_pollMe (false)

View File

@@ -41,6 +41,7 @@ class SSScheduler : public Object
{
public:
static TypeId GetTypeId (void);
SSScheduler (Ptr<SubscriberStationNetDevice> ss);
~SSScheduler (void);

View File

@@ -27,6 +27,15 @@ NS_LOG_COMPONENT_DEFINE ("WimaxChannel");
namespace ns3 {
NS_OBJECT_ENSURE_REGISTERED (WimaxChannel);
TypeId WimaxChannel::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::WimaxChannel")
.SetParent<Channel> ();
return tid;
}
WimaxChannel::WimaxChannel (void)
{
}

View File

@@ -39,6 +39,7 @@ class PacketBurst;
class WimaxChannel : public Channel
{
public:
static TypeId GetTypeId (void);
WimaxChannel (void);
virtual ~WimaxChannel (void);
/**