src/wifi/helper/wifi-radio-energy-model-helper.h
author Tommaso Pecorella <tommaso.pecorella@unifi.it>
Sun, 27 Sep 2015 10:49:52 +0200
changeset 11674 d6e7902b45b1
parent 11487 36b7799aa256
permissions -rw-r--r--
[doxygen] Small fix in WifiRadioEnergyModel docs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11487
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     2
/*
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     3
* Copyright (c) 2010 Network Security Lab, University of Washington, Seattle.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     4
*
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     5
* This program is free software; you can redistribute it and/or modify
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     6
* it under the terms of the GNU General Public License version 2 as
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     7
* published by the Free Software Foundation;
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     8
*
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
     9
* This program is distributed in the hope that it will be useful,
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    12
* GNU General Public License for more details.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    13
*
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    14
* You should have received a copy of the GNU General Public License
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    15
* along with this program; if not, write to the Free Software
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    17
*
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    18
* Author: Sidharth Nabar <snabar@uw.edu>, He Wu <mdzz@u.washington.edu>
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    19
*/
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    20
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    21
#ifndef WIFI_RADIO_ENERGY_MODEL_HELPER_H
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    22
#define WIFI_RADIO_ENERGY_MODEL_HELPER_H
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    23
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    24
#include "ns3/energy-model-helper.h"
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    25
#include "ns3/wifi-radio-energy-model.h"
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    26
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    27
namespace ns3 {
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    28
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    29
/**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    30
 * \ingroup energy
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    31
 * \brief Assign WifiRadioEnergyModel to wifi devices.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    32
 *
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    33
 * This installer installs WifiRadioEnergyModel for only WifiNetDevice objects.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    34
 *
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    35
 */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    36
class WifiRadioEnergyModelHelper : public DeviceEnergyModelHelper
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    37
{
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    38
public:
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    39
  /**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    40
   * Construct a helper which is used to add a radio energy model to a node
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    41
   */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    42
  WifiRadioEnergyModelHelper ();
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    43
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    44
  /**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    45
   * Destroy a RadioEnergy Helper
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    46
   */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    47
  ~WifiRadioEnergyModelHelper ();
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    48
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    49
  /**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    50
   * \param name the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    51
   * \param v the value of the attribute
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    52
   *
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    53
   * Sets an attribute of the underlying PHY object.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    54
   */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    55
  void Set (std::string name, const AttributeValue &v);
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    56
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    57
  /**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    58
   * \param callback Callback function for energy depletion handling.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    59
   *
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    60
   * Sets the callback to be invoked when energy is depleted.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    61
   */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    62
  void SetDepletionCallback (
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    63
    WifiRadioEnergyModel::WifiRadioEnergyDepletionCallback callback);
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    64
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    65
  /**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    66
   * \param callback Callback function for energy recharged handling.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    67
   *
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    68
   * Sets the callback to be invoked when energy is recharged.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    69
   */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    70
  void SetRechargedCallback (
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    71
    WifiRadioEnergyModel::WifiRadioEnergyRechargedCallback callback);
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    72
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    73
  /**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    74
   * \param name the name of the model to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    75
   * \param n0 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    76
   * \param v0 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    77
   * \param n1 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    78
   * \param v1 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    79
   * \param n2 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    80
   * \param v2 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    81
   * \param n3 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    82
   * \param v3 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    83
   * \param n4 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    84
   * \param v4 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    85
   * \param n5 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    86
   * \param v5 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    87
   * \param n6 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    88
   * \param v6 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    89
   * \param n7 the name of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    90
   * \param v7 the value of the attribute to set
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    91
   *
11674
d6e7902b45b1 [doxygen] Small fix in WifiRadioEnergyModel docs
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents: 11487
diff changeset
    92
   * Configure a Transmission Current model for this EnergySource.
11487
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    93
   */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    94
  void SetTxCurrentModel (std::string name,
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    95
                          std::string n0 = "", const AttributeValue &v0 = EmptyAttributeValue (),
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    96
                          std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (),
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    97
                          std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (),
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    98
                          std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue (),
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
    99
                          std::string n4 = "", const AttributeValue &v4 = EmptyAttributeValue (),
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   100
                          std::string n5 = "", const AttributeValue &v5 = EmptyAttributeValue (),
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   101
                          std::string n6 = "", const AttributeValue &v6 = EmptyAttributeValue (),
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   102
                          std::string n7 = "", const AttributeValue &v7 = EmptyAttributeValue ());
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   103
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   104
private:
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   105
  /**
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   106
   * \param device Pointer to the NetDevice to install DeviceEnergyModel.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   107
   * \param source Pointer to EnergySource to install.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   108
   *
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   109
   * Implements DeviceEnergyModel::Install.
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   110
   */
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   111
  virtual Ptr<DeviceEnergyModel> DoInstall (Ptr<NetDevice> device,
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   112
                                            Ptr<EnergySource> source) const;
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   113
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   114
private:
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   115
  ObjectFactory m_radioEnergy;
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   116
  WifiRadioEnergyModel::WifiRadioEnergyDepletionCallback m_depletionCallback;
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   117
  WifiRadioEnergyModel::WifiRadioEnergyRechargedCallback m_rechargedCallback;
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   118
  ObjectFactory m_txCurrentModel;
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   119
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   120
};
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   121
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   122
} // namespace ns3
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   123
36b7799aa256 Bug 1941 - [energy] Remove unnecessary dependency involving energy module
Tommaso Pecorella <tommaso.pecorella@unifi.it>
parents:
diff changeset
   124
#endif /* WIFI_RADIO_ENERGY_MODEL_HELPER_H */