A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
energy-harvester.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014 Wireless Communications and Networking Group (WCNG),
3
* University of Rochester, Rochester, NY, USA.
4
*
5
* SPDX-License-Identifier: GPL-2.0-only
6
*
7
* Author: Cristiano Tapparello <cristiano.tapparello@rochester.edu>
8
*/
9
10
#include "
energy-harvester.h
"
11
12
#include "
energy-source.h
"
13
14
#include "ns3/log.h"
15
#include "ns3/node.h"
16
17
namespace
ns3
18
{
19
namespace
energy
20
{
21
22
NS_LOG_COMPONENT_DEFINE
(
"EnergyHarvester"
);
23
NS_OBJECT_ENSURE_REGISTERED
(
EnergyHarvester
);
24
25
TypeId
26
EnergyHarvester::GetTypeId
()
27
{
28
static
TypeId
tid =
TypeId
(
"ns3::energy::EnergyHarvester"
)
29
.
AddDeprecatedName
(
"ns3::EnergyHarvester"
)
30
.
SetParent
<
Object
>()
31
.SetGroupName(
"Energy"
);
32
return
tid;
33
}
34
35
EnergyHarvester::EnergyHarvester
()
36
{
37
NS_LOG_FUNCTION
(
this
);
38
}
39
40
EnergyHarvester::~EnergyHarvester
()
41
{
42
NS_LOG_FUNCTION
(
this
);
43
}
44
45
void
46
EnergyHarvester::SetNode
(
Ptr<Node>
node)
47
{
48
NS_LOG_FUNCTION
(
this
);
49
NS_ASSERT
(node);
50
m_node
= node;
51
}
52
53
Ptr<Node>
54
EnergyHarvester::GetNode
()
const
55
{
56
NS_LOG_FUNCTION
(
this
);
57
return
m_node
;
58
}
59
60
void
61
EnergyHarvester::SetEnergySource
(
Ptr<EnergySource>
source)
62
{
63
NS_LOG_FUNCTION
(
this
);
64
NS_ASSERT
(source);
65
m_energySource
= source;
66
}
67
68
Ptr<EnergySource>
69
EnergyHarvester::GetEnergySource
()
const
70
{
71
NS_LOG_FUNCTION
(
this
);
72
return
m_energySource
;
73
}
74
75
double
76
EnergyHarvester::GetPower
()
const
77
{
78
NS_LOG_FUNCTION
(
this
);
79
return
DoGetPower
();
80
}
81
82
/*
83
* Private function starts here.
84
*/
85
86
void
87
EnergyHarvester::DoDispose
()
88
{
89
NS_LOG_FUNCTION
(
this
);
90
}
91
92
double
93
EnergyHarvester::DoGetPower
()
const
94
{
95
NS_LOG_FUNCTION
(
this
);
96
return
0.0;
97
}
98
99
}
// namespace energy
100
}
// namespace ns3
ns3::Object::Object
Object()
Caller graph was not generated because of its size.
Definition
object.cc:93
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
ptr.h:70
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:49
ns3::TypeId::AddDeprecatedName
TypeId AddDeprecatedName(const std::string &name)
Add an deprecated name for a TypeId.
Definition
type-id.cc:860
ns3::TypeId::SetParent
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition
type-id.cc:999
ns3::energy::EnergyHarvester
Energy harvester base class.
Definition
energy-harvester.h:36
ns3::energy::EnergyHarvester::DoDispose
void DoDispose() override
Defined in ns3::Object.
Definition
energy-harvester.cc:87
ns3::energy::EnergyHarvester::m_node
Ptr< Node > m_node
Pointer to node containing this EnergyHarvester.
Definition
energy-harvester.h:112
ns3::energy::EnergyHarvester::DoGetPower
virtual double DoGetPower() const
This method is called by the GetPower method and it needs to be implemented by the subclasses of the ...
Definition
energy-harvester.cc:93
ns3::energy::EnergyHarvester::SetEnergySource
void SetEnergySource(Ptr< EnergySource > source)
Definition
energy-harvester.cc:61
ns3::energy::EnergyHarvester::~EnergyHarvester
~EnergyHarvester() override
Definition
energy-harvester.cc:40
ns3::energy::EnergyHarvester::GetEnergySource
Ptr< EnergySource > GetEnergySource() const
Definition
energy-harvester.cc:69
ns3::energy::EnergyHarvester::GetPower
double GetPower() const
Definition
energy-harvester.cc:76
ns3::energy::EnergyHarvester::m_energySource
Ptr< EnergySource > m_energySource
Pointer to the Energy Source to which this EnergyHarvester is connected.
Definition
energy-harvester.h:119
ns3::energy::EnergyHarvester::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
energy-harvester.cc:26
ns3::energy::EnergyHarvester::EnergyHarvester
EnergyHarvester()
Definition
energy-harvester.cc:35
ns3::energy::EnergyHarvester::GetNode
Ptr< Node > GetNode() const
Definition
energy-harvester.cc:54
ns3::energy::EnergyHarvester::SetNode
void SetNode(Ptr< Node > node)
Sets pointer to node containing this EnergyHarvester.
Definition
energy-harvester.cc:46
energy-harvester.h
energy-source.h
NS_ASSERT
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
Definition
assert.h:55
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition
log.h:194
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:231
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition
object-base.h:35
ns3::energy
Definition
energy-harvester-container.cc:18
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
energy
model
energy-harvester.cc
Generated on
for ns-3 by
1.15.0