Class ServiceRegistry
- java.lang.Object
-
- org.openmuc.jeebus.ship.node.service.ServiceRegistry
-
- All Implemented Interfaces:
java.util.EventListener,javax.jmdns.ServiceListener
public class ServiceRegistry extends java.lang.Object implements javax.jmdns.ServiceListener
-
-
Constructor Summary
Constructors Constructor Description ServiceRegistry(java.net.InetAddress address, java.lang.String hostname, java.lang.String serviceType, ConnectionHandler connHandler)creates a JmDNS instance and a service listener
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidchangeService(javax.jmdns.ServiceInfo oldInfo, javax.jmdns.ServiceInfo newInfo)static javax.jmdns.ServiceInfocreateServiceInfo(java.lang.String serviceName, java.lang.String serviceInstance, int port, TxtRecord txt)creates service info, typically used to register a servicejavax.jmdns.ServiceInfo[]listServices()lists all identified servicesvoidregisterService(javax.jmdns.ServiceInfo serviceInfo)register a service in own JmDNS instance, other active JmDNS listening for the same service type will identify this service once registeredvoidserviceAdded(javax.jmdns.ServiceEvent event)voidserviceRemoved(javax.jmdns.ServiceEvent event)voidserviceResolved(javax.jmdns.ServiceEvent event)voidshutdown()unregisters all services in own JmDNS instance, removed service listener and closes JmDNS instancevoidunregisterService(javax.jmdns.ServiceInfo serviceInfo)unregister a service in own JmDNS instance
-
-
-
Constructor Detail
-
ServiceRegistry
public ServiceRegistry(java.net.InetAddress address, java.lang.String hostname, java.lang.String serviceType, ConnectionHandler connHandler)creates a JmDNS instance and a service listener- Parameters:
address- the address to bind JmDNS instance tohostname- mDNS name for the service hostserviceType- the service type to listen forconnHandler- connection handler to handle all interactions with the SHIP peer
-
-
Method Detail
-
createServiceInfo
public static javax.jmdns.ServiceInfo createServiceInfo(java.lang.String serviceName, java.lang.String serviceInstance, int port, TxtRecord txt)creates service info, typically used to register a service- Parameters:
serviceName- service name or service type, example: "_ship._tcp.local."serviceInstance- service instance, example: "Dishwasher ExampleCompany EEB01M3EU"port- the port the service is bound totxt- a description for the service- Returns:
- ServiceInfo object which holds the compressed information passed in parameters
-
listServices
public javax.jmdns.ServiceInfo[] listServices()
lists all identified services- Returns:
- identified services
-
registerService
public void registerService(javax.jmdns.ServiceInfo serviceInfo) throws java.io.IOExceptionregister a service in own JmDNS instance, other active JmDNS listening for the same service type will identify this service once registered- Parameters:
serviceInfo- the ServiceInfo object to register- Throws:
java.io.IOException- if there is an error in the underlying protocol, such as a TCP error
-
changeService
public void changeService(javax.jmdns.ServiceInfo oldInfo, javax.jmdns.ServiceInfo newInfo) throws java.io.IOException- Throws:
java.io.IOException
-
unregisterService
public void unregisterService(javax.jmdns.ServiceInfo serviceInfo)
unregister a service in own JmDNS instance- Parameters:
serviceInfo- the ServiceInfo object to unregister
-
shutdown
public void shutdown() throws java.io.IOExceptionunregisters all services in own JmDNS instance, removed service listener and closes JmDNS instance- Throws:
java.io.IOException- if an I/O error occurs
-
serviceAdded
public void serviceAdded(javax.jmdns.ServiceEvent event)
- Specified by:
serviceAddedin interfacejavax.jmdns.ServiceListener
-
serviceRemoved
public void serviceRemoved(javax.jmdns.ServiceEvent event)
- Specified by:
serviceRemovedin interfacejavax.jmdns.ServiceListener
-
serviceResolved
public void serviceResolved(javax.jmdns.ServiceEvent event)
- Specified by:
serviceResolvedin interfacejavax.jmdns.ServiceListener
-
-