Search in sources :

Example 1 with NetworkTopologyListener

use of javax.jmdns.NetworkTopologyListener in project JAirPort by froks.

the class JmmDNSImpl method inetAddressAdded.

/*
     * (non-Javadoc)
     * @see javax.jmdns.NetworkTopologyListener#inetAddressAdded(javax.jmdns.NetworkTopologyEvent)
     */
@Override
public void inetAddressAdded(NetworkTopologyEvent event) {
    InetAddress address = event.getInetAddress();
    try {
        synchronized (this) {
            if (!_knownMDNS.containsKey(address)) {
                _knownMDNS.put(address, JmDNS.create(address));
                final NetworkTopologyEvent jmdnsEvent = new NetworkTopologyEventImpl(_knownMDNS.get(address), address);
                for (final NetworkTopologyListener listener : this.networkListeners()) {
                    _ListenerExecutor.submit(new Runnable() {

                        /**
                             * {@inheritDoc}
                             */
                        @Override
                        public void run() {
                            listener.inetAddressAdded(jmdnsEvent);
                        }
                    });
                }
            }
        }
    } catch (Exception e) {
        logger.warning("Unexpected unhandled exception: " + e);
    }
}
Also used : NetworkTopologyEvent(javax.jmdns.NetworkTopologyEvent) InetAddress(java.net.InetAddress) NetworkTopologyListener(javax.jmdns.NetworkTopologyListener) IOException(java.io.IOException)

Example 2 with NetworkTopologyListener

use of javax.jmdns.NetworkTopologyListener in project JAirPort by froks.

the class JmmDNSImpl method inetAddressRemoved.

/*
     * (non-Javadoc)
     * @see javax.jmdns.NetworkTopologyListener#inetAddressRemoved(javax.jmdns.NetworkTopologyEvent)
     */
@Override
public void inetAddressRemoved(NetworkTopologyEvent event) {
    InetAddress address = event.getInetAddress();
    try {
        synchronized (this) {
            if (_knownMDNS.containsKey(address)) {
                JmDNS mDNS = _knownMDNS.remove(address);
                mDNS.close();
                final NetworkTopologyEvent jmdnsEvent = new NetworkTopologyEventImpl(mDNS, address);
                for (final NetworkTopologyListener listener : this.networkListeners()) {
                    _ListenerExecutor.submit(new Runnable() {

                        /**
                             * {@inheritDoc}
                             */
                        @Override
                        public void run() {
                            listener.inetAddressRemoved(jmdnsEvent);
                        }
                    });
                }
            }
        }
    } catch (Exception e) {
        logger.warning("Unexpected unhandled exception: " + e);
    }
}
Also used : NetworkTopologyEvent(javax.jmdns.NetworkTopologyEvent) JmDNS(javax.jmdns.JmDNS) InetAddress(java.net.InetAddress) NetworkTopologyListener(javax.jmdns.NetworkTopologyListener) IOException(java.io.IOException)

Aggregations

IOException (java.io.IOException)2 InetAddress (java.net.InetAddress)2 NetworkTopologyEvent (javax.jmdns.NetworkTopologyEvent)2 NetworkTopologyListener (javax.jmdns.NetworkTopologyListener)2 JmDNS (javax.jmdns.JmDNS)1