Package com.pixelmed.network

# Class NetworkConfigurationFromMulticastDNS

java.lang.Object
com.pixelmed.network.NetworkConfigurationSource
com.pixelmed.network.NetworkConfigurationFromMulticastDNS

public class NetworkConfigurationFromMulticastDNS extends NetworkConfigurationSource

This class provides a dynamic registry of DICOM network parameters possibly federated from various sources.

Supported sources of information include:

- DNS Self-Discovery (aka. Apple's Bonjour)

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`NetworkConfigurationFromMulticastDNS.OurJmDNSServiceListener`

## Nested classes/interfaces inherited from class com.pixelmed.network.NetworkConfigurationSource

`NetworkConfigurationSource.DumpNetworkApplicationInformation`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected javax.jmdns.JmDNS`
`jmDNS`

### Fields inherited from class com.pixelmed.network.NetworkConfigurationSource

`DefaultDumpInfoInterval, DefaultSourceRefreshInterval, dumper, timer`

## Constructor Summary

Constructors
Constructor
Description
`NetworkConfigurationFromMulticastDNS()`
Construct an instance capable of handling dynamic configuration information but do not start anything yet.
`NetworkConfigurationFromMulticastDNS(int debugLevel)`
Construct an instance capable of handling dynamic configuration information but do not start anything yet.

## Method Summary

Modifier and Type
Method
Description
`void`
`activateDiscovery(int refreshInterval)`
Start DNS Self-Discovery, if possible.
`void`
`deActivateDiscovery()`
Stop DNS Self-Discovery.
`static void`
`main(String[] arg)`
Utility that activates a dynamic configuration listener and dumps its contents periodically.
`void`
`registerDicomService(String calledApplicationEntityTitle, int port, String primaryDeviceType)`
Register a DICOM service on the local host.
`void`
`registerWADOService(String instanceName, int port, String path)`
Register a WADO service on the local host.
`void`
`unregisterAllServices()`
Unregister all services that have been registered.

### Methods inherited from class com.pixelmed.network.NetworkConfigurationSource

`activateDiscovery, activateDumper, activateDumper, close, deActivateDumper, getNetworkApplicationInformation`

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### jmDNS

protected javax.jmdns.JmDNS jmDNS

## Constructor Details

### NetworkConfigurationFromMulticastDNS

public NetworkConfigurationFromMulticastDNS(int debugLevel)

Construct an instance capable of handling dynamic configuration information but do not start anything yet.

Parameters:
  `debugLevel` - ignored

### NetworkConfigurationFromMulticastDNS

public NetworkConfigurationFromMulticastDNS()

Construct an instance capable of handling dynamic configuration information but do not start anything yet.

## Method Details

### activateDiscovery

public void activateDiscovery(int refreshInterval)

Start DNS Self-Discovery, if possible.

Requires `javax.jmdns` package to be in class path.

Specified by:
  `activateDiscovery` in class `NetworkConfigurationSource`
Parameters:
  `refreshInterval` - is ignored completely, since DNS-SD over mDNS is asynchronous

### deActivateDiscovery

public void deActivateDiscovery()

Stop DNS Self-Discovery.

Specified by:
  `deActivateDiscovery` in class `NetworkConfigurationSource`

### unregisterAllServices

public void unregisterAllServices()

Unregister all services that have been registered.

### registerDicomService

public void registerDicomService(String calledApplicationEntityTitle, int port, String primaryDeviceType)

Register a DICOM service on the local host.

Parameters:
  `calledApplicationEntityTitle` - the AET of the DICOM service
  `port` - the port that the service listens on
  `primaryDeviceType` - the primaryDeviceType, or null if none

### registerWADOService

public void registerWADOService(String instanceName, int port, String path)

Register a WADO service on the local host.

Parameters:
  `instanceName` - the instance name for the service
  `port` - the port that the service listens on
  `path` - the path TXT parameter of the http service

### main

public static void main(String[] arg)

Utility that activates a dynamic configuration listener and dumps its contents periodically.

Additionally, will register a DICOM service on the local machine, if parameters of that service are supplied.

Parameters:
  `arg` - 2 or 3 arguments if a service is to be registered, the AET of the DICOM service,the port that the service listens on, and optionally the primaryDeviceType