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 
28 namespace ns3 {
29 
39 {
40 public:
41  static TypeId GetTypeId (void);
43  virtual ~SimpleDeviceEnergyModel ();
44 
52  virtual void SetNode (Ptr<Node> node);
53 
61  virtual Ptr<Node> GetNode (void) const;
62 
70  virtual void SetEnergySource (Ptr<EnergySource> source);
71 
77  virtual double GetTotalEnergyConsumption (void) const;
78 
84  virtual void ChangeState (int newState)
85  {
86  }
87 
93  virtual void HandleEnergyDepletion (void)
94  {
95  }
96 
102  virtual void HandleEnergyRecharged (void)
103  {
104  }
105 
111  virtual void HandleEnergyChanged (void)
112  {
113  }
114 
120  void SetCurrentA (double current);
121 private:
122  void DoDispose (void);
123 
129  virtual double DoGetCurrentA (void) const;
130 
136 };
137 
138 } // namespace ns3
139 
140 #endif /* SIMPLE_DEVICE_ENERGY_MODEL_H */
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:102
Base class for device energy models.
virtual void ChangeState(int newState)
virtual void HandleEnergyRecharged(void)
Handles energy recharged.
virtual void SetEnergySource(Ptr< EnergySource > source)
Sets pointer to EnergySouce installed on node.
virtual void HandleEnergyChanged(void)
Handles energy changed.
virtual void HandleEnergyDepletion(void)
Handles energy depletion.
A simple device energy model where current drain can be set by the user.
virtual Ptr< Node > GetNode(void) const
Gets pointer to node.
TracedValue< double > m_totalEnergyConsumption
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual double GetTotalEnergyConsumption(void) const
void DoDispose(void)
Destructor implementation.
virtual double DoGetCurrentA(void) const
virtual void SetNode(Ptr< Node > node)
Sets pointer to node.
a unique identifier for an interface.
Definition: type-id.h:58