/*
 * This file is part of the Owl Positioning System (OwlPS) project.
 * It is subject to the copyright notice and license terms in the
 * COPYRIGHT.t2t file found in the top-level directory of this
 * distribution and at
 *   https://code.lm7.fr/mcy/owlps/src/master/COPYRIGHT.t2t
 * No part of the OwlPS Project, including this file, may be copied,
 * modified, propagated, or distributed except according to the terms
 * contained in the COPYRIGHT.t2t file; the COPYRIGHT.t2t file must be
 * distributed along with this file, either separately or by replacing
 * this notice by the COPYRIGHT.t2t file's contents.
 */


#include "wifidevice.hh"

using namespace std ;



/* *** Operators *** */


WifiDevice& WifiDevice::operator=(const WifiDevice &wd)
{
  if (this == &wd)
    return *this ;

  ip_addr = wd.ip_addr ;
  mac_addr = wd.mac_addr ;
  antenna_gain = wd.antenna_gain ;
  trx_power = wd.trx_power ;

  return *this ;
}


bool WifiDevice::operator==(const WifiDevice &wd) const
{
  if (this == &wd)
    return true ;

  return
    ip_addr == wd.ip_addr &&
    mac_addr == wd.mac_addr &&
    antenna_gain == wd.antenna_gain &&
    trx_power == wd.trx_power ;
}



ostream &operator<<(ostream &os, const WifiDevice &wd)
{
  os
      << "IP address: " << wd.ip_addr << '\n'
      << "MAC address: " << wd.mac_addr << '\n'
      << "Antenna gain: " << wd.antenna_gain << "dBi" << '\n'
      << "Output power: " << wd.trx_power << "dBm" ;

  return os ;
}
