src/contrib/energy/helper/wifi-radio-energy-model-helper.cc
changeset 6699 d8909a1fd0ff
parent 6535 0a90ef2b29a9
equal deleted inserted replaced
6698:bc947fbfac80 6699:d8909a1fd0ff
    65   if (deviceName.compare ("ns3::WifiNetDevice") != 0)
    65   if (deviceName.compare ("ns3::WifiNetDevice") != 0)
    66     {
    66     {
    67       NS_FATAL_ERROR ("NetDevice type is not WifiNetDevice!");
    67       NS_FATAL_ERROR ("NetDevice type is not WifiNetDevice!");
    68     }
    68     }
    69   Ptr<Node> node = device->GetNode ();
    69   Ptr<Node> node = device->GetNode ();
    70   Ptr<WifiRadioEnergyModel> model = m_radioEnergy.Create ()->
    70   Ptr<WifiRadioEnergyModel> model = m_radioEnergy.Create ()->GetObject<WifiRadioEnergyModel> ();
    71     GetObject<WifiRadioEnergyModel> ();
       
    72   NS_ASSERT (model != NULL);
    71   NS_ASSERT (model != NULL);
    73   // set node pointer
       
    74   model->SetNode (node);
       
    75   // set energy source pointer
    72   // set energy source pointer
    76   model->SetEnergySource (source);
    73   model->SetEnergySource (source);
    77   // set energy depletion callback
    74   // set energy depletion callback
    78   model->SetEnergyDepletionCallback (m_depletionCallback);
    75   model->SetEnergyDepletionCallback (m_depletionCallback);
    79   // add model to device model list in energy source
    76   // add model to device model list in energy source
    80   source->AppendDeviceEnergyModel (model);
    77   source->AppendDeviceEnergyModel (model);
    81   // create and install energy model callback
    78   // create and register energy model phy listener
    82   Ptr<WifiNetDevice> wifiDevice = DynamicCast<WifiNetDevice> (device);
    79   Ptr<WifiNetDevice> wifiDevice = DynamicCast<WifiNetDevice> (device);
    83   Ptr<WifiPhy> wifiPhy = wifiDevice->GetPhy ();
    80   Ptr<WifiPhy> wifiPhy = wifiDevice->GetPhy ();
    84   DeviceEnergyModel::ChangeStateCallback callback;
    81   wifiPhy->RegisterListener (model->GetPhyListener ());
    85   callback = MakeCallback (&DeviceEnergyModel::ChangeState, model);
       
    86   //wifiPhy->SetEnergyModelCallback (callback);
       
    87   return model;
    82   return model;
    88 }
    83 }
    89 
    84 
    90 } // namespace ns3
    85 } // namespace ns3