/* * 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 "mobile.hh" #include "request.hh" /* *** Constructors *** */ Mobile::Mobile(const Mobile &m): WifiDevice(m), last_results(m.last_results) { update_last_request() ; } Mobile::~Mobile() { if (last_request) delete last_request ; } /* *** Write accessors *** */ void Mobile::update_last_request() { if (last_results.empty()) { delete last_request ; last_request = nullptr ; return ; } if (! last_request) last_request = new Request(*last_results.get_request()) ; else *last_request = *last_results.get_request() ; last_results.set_request(last_request) ; } /* *** Operators *** */ Mobile& Mobile::operator=(const Mobile &m) { if (this == &m) return *this ; this->WifiDevice::operator=(m) ; return *this ; } bool Mobile::operator==(const Mobile &m) const { if (this == &m) return true ; return this->WifiDevice::operator==(m) ; } std::ostream &operator<<(std::ostream &os, const Mobile &m) { os << static_cast(m) ; return os ; }