bool	DeviceName::isServedByUs() const {
	if (isLocalDevice()) {
		return false;
	}
	std::string	service = servicename();
	return astro::discover::ServicePublisher::ispublished(service);
}
DeviceName	DeviceName::localdevice() const {
	if (isLocalDevice()) {
		return *this;
	}
	astro::device::nice::DeviceDenicer	d(*this);
	return d.devicename();
}
bool	DeviceName::isServedBy(const std::string& service) const {
	if (isLocalDevice()) {
		return false;
	}
	return servicename() == service;
}
const std::string&	DeviceName::servicename() const {
	if (isLocalDevice()) {
		throw std::logic_error("not a network device");
	}
	return operator[](1);
}
bool	DeviceName::isLocalDevice() const {
	return !isLocalDevice();
}