A Discrete-Event Network Simulator
API
simple-device-energy-model.h
Go to the documentation of this file.
1/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2010 Andrea Sacco
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 * Author: Andrea Sacco <andrea.sacco85@gmail.com>
19 */
20
21#ifndef SIMPLE_DEVICE_ENERGY_MODEL_H
22#define SIMPLE_DEVICE_ENERGY_MODEL_H
23
24#include "ns3/device-energy-model.h"
25#include "ns3/nstime.h"
26#include "ns3/traced-value.h"
27
28namespace ns3 {
29
39{
40public:
45 static TypeId GetTypeId (void);
47 virtual ~SimpleDeviceEnergyModel ();
48
56 virtual void SetNode (Ptr<Node> node);
57
65 virtual Ptr<Node> GetNode (void) const;
66
74 virtual void SetEnergySource (Ptr<EnergySource> source);
75
81 virtual double GetTotalEnergyConsumption (void) const;
82
88 virtual void ChangeState (int newState)
89 {
90 }
91
97 virtual void HandleEnergyDepletion (void)
98 {
99 }
100
106 virtual void HandleEnergyRecharged (void)
107 {
108 }
109
115 virtual void HandleEnergyChanged (void)
116 {
117 }
118
124 void SetCurrentA (double current);
125private:
126 void DoDispose (void);
127
133 virtual double DoGetCurrentA (void) const;
134
140};
141
142} // namespace ns3
143
144#endif /* SIMPLE_DEVICE_ENERGY_MODEL_H */
Base class for device energy models.
A simple device energy model where current drain can be set by the user.
virtual double DoGetCurrentA(void) const
virtual Ptr< Node > GetNode(void) const
Gets pointer to node.
TracedValue< double > m_totalEnergyConsumption
Total energy consumption trace.
static TypeId GetTypeId(void)
Get the type ID.
virtual void HandleEnergyRecharged(void)
Handles energy recharged.
virtual double GetTotalEnergyConsumption(void) const
virtual void HandleEnergyChanged(void)
Handles energy changed.
void DoDispose(void)
Destructor implementation.
virtual void HandleEnergyDepletion(void)
Handles energy depletion.
virtual void SetNode(Ptr< Node > node)
Sets pointer to node.
virtual void SetEnergySource(Ptr< EnergySource > source)
Sets pointer to EnergySouce installed on node.
double m_actualCurrentA
actual curred (in Ampere)
virtual void ChangeState(int newState)
Ptr< EnergySource > m_source
Energy source.
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:103
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.