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(); }