1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
/*
* Dibbler - a portable DHCPv6
*
* authors: Tomasz Mrugalski <thomson@klub.com.pl>
* Marek Senderski <msend@o2.pl>
*
* released under GNU GPL v2 only licence
*/
#include "HostID.h"
#include <iostream>
#include <iomanip>
using namespace std;
THostID::THostID(SPtr<TIPv6Addr> addr)
{
this->Addr=addr;
isIDAddress=true;
}
THostID::THostID(SPtr<TDUID> duid)
{
this->DUID=duid;
isIDAddress=false;
}
bool THostID::operator==(SPtr<TIPv6Addr> addr)
{
if (!isIDAddress)
return false;
return *addr==*Addr;
}
bool THostID::operator==(SPtr<TDUID> duid)
{
if (isIDAddress)
return false;
return *duid==*DUID;
}
ostream& operator<<(ostream& out,THostID& station)
{
if (station.DUID) {
out<<*station.DUID;
} else {
out << "<Addr>" << *station.Addr << "</Addr>" << endl;
}
return out;
}
|