A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
channel.cc
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2007 University of Washington
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
19
#include "
channel.h
"
20
#include "
channel-list.h
"
21
#include "
net-device.h
"
22
23
#include "ns3/log.h"
24
#include "ns3/uinteger.h"
25
26
namespace
ns3
{
27
28
NS_LOG_COMPONENT_DEFINE
(
"Channel"
);
29
30
NS_OBJECT_ENSURE_REGISTERED
(Channel);
31
32
TypeId
33
Channel::GetTypeId
(
void
)
34
{
35
static
TypeId
tid =
TypeId
(
"ns3::Channel"
)
36
.
SetParent
<
Object
> ()
37
.SetGroupName(
"Network"
)
38
.AddAttribute (
"Id"
,
"The id (unique integer) of this Channel."
,
39
TypeId::ATTR_GET
,
40
UintegerValue
(0),
41
MakeUintegerAccessor
(&
Channel::m_id
),
42
MakeUintegerChecker<uint32_t> ());
43
return
tid;
44
}
45
46
Channel::Channel
()
47
: m_id (0)
48
{
49
NS_LOG_FUNCTION
(
this
);
50
m_id
=
ChannelList::Add
(
this
);
51
}
52
53
Channel::~Channel
()
54
{
55
NS_LOG_FUNCTION
(
this
);
56
}
57
58
uint32_t
59
Channel::GetId
(
void
)
const
60
{
61
NS_LOG_FUNCTION
(
this
);
62
return
m_id
;
63
}
64
65
}
// namespace ns3
channel-list.h
channel.h
ns3::Channel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition:
channel.cc:33
ns3::Channel::m_id
uint32_t m_id
Channel id for this channel.
Definition:
channel.h:78
ns3::Channel::Channel
Channel()
Definition:
channel.cc:46
ns3::Channel::GetId
uint32_t GetId(void) const
Definition:
channel.cc:59
ns3::Channel::~Channel
virtual ~Channel()
Definition:
channel.cc:53
ns3::ChannelList::Add
static uint32_t Add(Ptr< Channel > channel)
Definition:
channel-list.cc:214
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:88
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::TypeId::ATTR_GET
@ ATTR_GET
The attribute can be read.
Definition:
type-id.h:64
ns3::TypeId::SetParent
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition:
type-id.cc:922
ns3::UintegerValue
Hold an unsigned integer type.
Definition:
uinteger.h:44
ns3::MakeUintegerAccessor
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
Definition:
uinteger.h:45
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition:
log.h:205
NS_LOG_FUNCTION
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Definition:
log-macros-enabled.h:244
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition:
object-base.h:45
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
net-device.h
src
network
model
channel.cc
Generated on Tue Feb 6 2024 19:21:25 for ns-3 by
1.9.1