A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
wifi-radio-energy-model-helper.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2010 Network Security Lab, University of Washington, Seattle.
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: Sidharth Nabar <snabar@uw.edu>, He Wu <mdzz@u.washington.edu>
18
*/
19
20
#ifndef WIFI_RADIO_ENERGY_MODEL_HELPER_H
21
#define WIFI_RADIO_ENERGY_MODEL_HELPER_H
22
23
#include "ns3/energy-model-helper.h"
24
#include "ns3/wifi-radio-energy-model.h"
25
26
namespace
ns3
27
{
28
36
class
WifiRadioEnergyModelHelper
:
public
DeviceEnergyModelHelper
37
{
38
public
:
42
WifiRadioEnergyModelHelper
();
43
47
~WifiRadioEnergyModelHelper
()
override
;
48
55
void
Set
(std::string name,
const
AttributeValue
& v)
override
;
56
62
void
SetDepletionCallback
(
WifiRadioEnergyModel::WifiRadioEnergyDepletionCallback
callback);
63
69
void
SetRechargedCallback
(
WifiRadioEnergyModel::WifiRadioEnergyRechargedCallback
callback);
70
78
template
<
typename
... Ts>
79
void
SetTxCurrentModel
(std::string name, Ts&&...
args
);
80
81
private
:
89
Ptr<DeviceEnergyModel>
DoInstall
(
Ptr<NetDevice>
device,
90
Ptr<EnergySource>
source)
const override
;
91
92
private
:
93
ObjectFactory
m_radioEnergy
;
94
WifiRadioEnergyModel::WifiRadioEnergyDepletionCallback
95
m_depletionCallback
;
96
WifiRadioEnergyModel::WifiRadioEnergyRechargedCallback
97
m_rechargedCallback
;
98
ObjectFactory
m_txCurrentModel
;
99
};
100
101
/***************************************************************
102
* Implementation of the templates declared above.
103
***************************************************************/
104
105
template
<
typename
... Ts>
106
void
107
WifiRadioEnergyModelHelper::SetTxCurrentModel
(std::string name, Ts&&...
args
)
108
{
109
m_txCurrentModel
=
ObjectFactory
(name, std::forward<Ts>(
args
)...);
110
}
111
112
}
// namespace ns3
113
114
#endif
/* WIFI_RADIO_ENERGY_MODEL_HELPER_H */
ns3::AttributeValue
Hold a value for an Attribute.
Definition:
attribute.h:70
ns3::Callback< void >
ns3::DeviceEnergyModelHelper
Creates DeviceEnergyModel objects.
Definition:
energy-model-helper.h:115
ns3::ObjectFactory
Instantiate subclasses of ns3::Object.
Definition:
object-factory.h:48
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:77
ns3::WifiRadioEnergyModelHelper
Assign WifiRadioEnergyModel to wifi devices.
Definition:
wifi-radio-energy-model-helper.h:37
ns3::WifiRadioEnergyModelHelper::~WifiRadioEnergyModelHelper
~WifiRadioEnergyModelHelper() override
Destroy a RadioEnergy Helper.
Definition:
wifi-radio-energy-model-helper.cc:36
ns3::WifiRadioEnergyModelHelper::SetRechargedCallback
void SetRechargedCallback(WifiRadioEnergyModel::WifiRadioEnergyRechargedCallback callback)
Definition:
wifi-radio-energy-model-helper.cc:54
ns3::WifiRadioEnergyModelHelper::SetDepletionCallback
void SetDepletionCallback(WifiRadioEnergyModel::WifiRadioEnergyDepletionCallback callback)
Definition:
wifi-radio-energy-model-helper.cc:47
ns3::WifiRadioEnergyModelHelper::m_rechargedCallback
WifiRadioEnergyModel::WifiRadioEnergyRechargedCallback m_rechargedCallback
radio energy recharged callback
Definition:
wifi-radio-energy-model-helper.h:97
ns3::WifiRadioEnergyModelHelper::WifiRadioEnergyModelHelper
WifiRadioEnergyModelHelper()
Construct a helper which is used to add a radio energy model to a node.
Definition:
wifi-radio-energy-model-helper.cc:29
ns3::WifiRadioEnergyModelHelper::m_depletionCallback
WifiRadioEnergyModel::WifiRadioEnergyDepletionCallback m_depletionCallback
radio energy depletion callback
Definition:
wifi-radio-energy-model-helper.h:95
ns3::WifiRadioEnergyModelHelper::Set
void Set(std::string name, const AttributeValue &v) override
Definition:
wifi-radio-energy-model-helper.cc:41
ns3::WifiRadioEnergyModelHelper::m_radioEnergy
ObjectFactory m_radioEnergy
radio energy
Definition:
wifi-radio-energy-model-helper.h:93
ns3::WifiRadioEnergyModelHelper::DoInstall
Ptr< DeviceEnergyModel > DoInstall(Ptr< NetDevice > device, Ptr< EnergySource > source) const override
Definition:
wifi-radio-energy-model-helper.cc:65
ns3::WifiRadioEnergyModelHelper::m_txCurrentModel
ObjectFactory m_txCurrentModel
transmit current model
Definition:
wifi-radio-energy-model-helper.h:98
ns3::WifiRadioEnergyModelHelper::SetTxCurrentModel
void SetTxCurrentModel(std::string name, Ts &&... args)
Definition:
wifi-radio-energy-model-helper.h:107
check-style-clang-format.args
args
Definition:
check-style-clang-format.py:754
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
wifi
helper
wifi-radio-energy-model-helper.h
Generated on Sun Mar 3 2024 17:11:10 for ns-3 by
1.9.1