void handleServiceResolved(ServiceInfo info) { List list = (List) serviceListeners.get(info.type.toLowerCase()); if (list != null) { ServiceEvent event = new ServiceEvent(this, info.type, info.getName(), info); // Iterate on a copy in case listeners will modify it final ArrayList listCopy = new ArrayList(list); for (Iterator iterator = listCopy.iterator(); iterator.hasNext();) { ((ServiceListener) iterator.next()).serviceResolved(event); } } }
boolean handleResponse(JmDNS dns) { ServiceInfo info = (ServiceInfo) dns.services.get(name.toLowerCase()); if (info != null && (port != info.port || !server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger.finer("handleResponse() Denial detected"); if (info.getState().isProbing()) { String oldName = info.getQualifiedName().toLowerCase(); info.setName(dns.incrementName(info.getName())); dns.services.remove(oldName); dns.services.put(info.getQualifiedName().toLowerCase(), info); logger.finer("handleResponse() New unique name chose:" + info.getName()); } info.revertState(); return true; } return false; }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long itemId) { ServiceInfo selectedServiceInfo = serviceInfos[position]; String[] addresses = selectedServiceInfo.getHostAddresses(); if (addresses.length == 0) { // Couldn't get any address Toast.makeText(getActivity(), R.string.wizard_zeroconf_cant_connect_no_host_address, Toast.LENGTH_LONG) .show(); return; } String hostName = selectedServiceInfo.getName(); String hostAddress = addresses[0]; int hostHttpPort = selectedServiceInfo.getPort(); HostInfo selectedHostInfo = new HostInfo(hostName, hostAddress, HostConnection.PROTOCOL_TCP, hostHttpPort, HostInfo.DEFAULT_TCP_PORT, null, null, true, HostInfo.DEFAULT_EVENT_SERVER_PORT, false); listener.onAddHostZeroconfFoundHost(selectedHostInfo); } });
boolean handleQuery(JmDNS dns, long expirationTime) { ServiceInfo info = (ServiceInfo) dns.services.get(name.toLowerCase()); if (info != null && (port != info.port || !server.equalsIgnoreCase(dns.getLocalHost().getName()))) { logger.finer("handleQuery() Conflicting probe detected"); // Tie breaker test if (info.getState().isProbing() && lexCompare(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN | DNSConstants.CLASS_UNIQUE, DNSConstants.DNS_TTL, info.priority, info.weight, info.port, dns.getLocalHost().getName())) >= 0) { // We lost the tie break String oldName = info.getQualifiedName().toLowerCase(); info.setName(dns.incrementName(info.getName())); dns.services.remove(oldName); dns.services.put(info.getQualifiedName().toLowerCase(), info); logger.finer("handleQuery() Lost tie break: new unique name chosen:" + info.getName()); } info.revertState(); return true; } return false; }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); // String domainName = ""; // String serviceName = this.getServer(); // int index = serviceName.indexOf('.'); // if (index > 0) // { // serviceName = this.getServer().substring(0, index); // if (index + 1 < this.getServer().length()) // domainName = this.getServer().substring(index + 1); // } // return new ServiceEventImpl(dns, domainName, serviceName, info); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); // String domainName = ""; // String serviceName = this.getServer(); // int index = serviceName.indexOf('.'); // if (index > 0) // { // serviceName = this.getServer().substring(0, index); // if (index + 1 < this.getServer().length()) // domainName = this.getServer().substring(index + 1); // } // return new ServiceEventImpl(dns, domainName, serviceName, info); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); // String domainName = ""; // String serviceName = this.getServer(); // int index = serviceName.indexOf('.'); // if (index > 0) // { // serviceName = this.getServer().substring(0, index); // if (index + 1 < this.getServer().length()) // domainName = this.getServer().substring(index + 1); // } // return new ServiceEventImpl(dns, domainName, serviceName, info); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }
@Override public ServiceEvent getServiceEvent(JmDNSImpl dns) { ServiceInfo info = this.getServiceInfo(false); ((ServiceInfoImpl) info).setDns(dns); // String domainName = ""; // String serviceName = this.getServer(); // int index = serviceName.indexOf('.'); // if (index > 0) // { // serviceName = this.getServer().substring(0, index); // if (index + 1 < this.getServer().length()) // domainName = this.getServer().substring(index + 1); // } // return new ServiceEventImpl(dns, domainName, serviceName, info); return new ServiceEventImpl(dns, info.getType(), info.getName(), info); }