bool ServiceDescription::compareWithoutTXT(const ServiceDescription& other) const 
{
        if( interfaceIndex_ != other.getInterfaceIndex() && !(interfaceIndex_ == AVAHI_IF_UNSPEC || other.getInterfaceIndex() == AVAHI_IF_UNSPEC))
            return false;

        if(protocol_ != other.getProtocol() && !(protocol_ == AVAHI_PROTO_UNSPEC || other.getProtocol() == AVAHI_PROTO_UNSPEC))
            return false;

        if( getName() != other.getName())
            return false;

        if( getType() != other.getType())
            return false;

        // Compare domains and ignore consider that "" defaults to 'local'
	std::string td1 = (domain_ == "" || domain_ == "local") ? "" : domain_;
	std::string td2 = (other.getDomain() == "" || other.getDomain() == "local") ? "" : other.getDomain();

	if (td1 != td2)
		return false;

        return true;
}