Package org.openmuc.jship.node.service
Class ServiceRegistry
- java.lang.Object
-
- org.openmuc.jship.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.Inet4Address 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 void
changeService(javax.jmdns.ServiceInfo oldInfo, javax.jmdns.ServiceInfo newInfo)
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 servicejavax.jmdns.ServiceInfo[]
listServices()
lists all identified servicesvoid
registerService(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 registeredvoid
serviceAdded(javax.jmdns.ServiceEvent event)
void
serviceRemoved(javax.jmdns.ServiceEvent event)
void
serviceResolved(javax.jmdns.ServiceEvent event)
void
shutdown()
unregisters all services in own JmDNS instance, removed service listener and closes JmDNS instancevoid
unregisterService(javax.jmdns.ServiceInfo serviceInfo)
unregister a service in own JmDNS instance
-
-
-
Constructor Detail
-
ServiceRegistry
public ServiceRegistry(java.net.Inet4Address 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 for
-
-
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.IOException
register 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
-
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.IOException
unregisters all services in own JmDNS instance, removed service listener and closes JmDNS instance- Throws:
java.io.IOException
-
serviceAdded
public void serviceAdded(javax.jmdns.ServiceEvent event)
- Specified by:
serviceAdded
in interfacejavax.jmdns.ServiceListener
-
serviceRemoved
public void serviceRemoved(javax.jmdns.ServiceEvent event)
- Specified by:
serviceRemoved
in interfacejavax.jmdns.ServiceListener
-
serviceResolved
public void serviceResolved(javax.jmdns.ServiceEvent event)
- Specified by:
serviceResolved
in interfacejavax.jmdns.ServiceListener
-
-