src/energy/helper/basic-energy-source-helper.cc
changeset 6938 85d201f1c67f
parent 6535 0a90ef2b29a9
child 7385 10beb0e53130
equal deleted inserted replaced
6937:99ee62eec34c 6938:85d201f1c67f
       
     1 /* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
       
     2 /*
       
     3  * Copyright (c) 2010 Network Security Lab, University of Washington, Seattle.
       
     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  * Authors: Sidharth Nabar <snabar@uw.edu>, He Wu <mdzz@u.washington.edu>
       
    19  */
       
    20 
       
    21 #include "basic-energy-source-helper.h"
       
    22 #include "ns3/energy-source.h"
       
    23 
       
    24 namespace ns3 {
       
    25 
       
    26 BasicEnergySourceHelper::BasicEnergySourceHelper ()
       
    27 {
       
    28   m_basicEnergySource.SetTypeId ("ns3::BasicEnergySource");
       
    29 }
       
    30 
       
    31 BasicEnergySourceHelper::~BasicEnergySourceHelper ()
       
    32 {
       
    33 }
       
    34 
       
    35 void
       
    36 BasicEnergySourceHelper::Set (std::string name, const AttributeValue &v)
       
    37 {
       
    38   m_basicEnergySource.Set (name, v);
       
    39 }
       
    40 
       
    41 Ptr<EnergySource>
       
    42 BasicEnergySourceHelper::DoInstall (Ptr<Node> node) const
       
    43 {
       
    44   NS_ASSERT (node != NULL);
       
    45   // check if energy source already exists
       
    46   Ptr<EnergySource> source = node->GetObject<EnergySource> ();
       
    47   if (source != NULL)
       
    48     {
       
    49       NS_FATAL_ERROR ("Energy source already installed!");
       
    50     }
       
    51   source = m_basicEnergySource.Create<EnergySource> ();
       
    52   NS_ASSERT (source != NULL);
       
    53   source->SetNode (node);
       
    54   return source;
       
    55 }
       
    56 
       
    57 } // namespace ns3