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
`protected class` `NetworkConfigurationFromMulticastDNS.OurJmDNSServiceListener`

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

`NetworkConfigurationSource.DumpNetworkApplicationInformation`

### Field Summary

Fields
`protected javax.jmdns.JmDNS` `jmDNS`

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

`debugLevel, DefaultDumpInfoInterval, DefaultSourceRefreshInterval, dumper, timer`

### Constructor Summary

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

### Method Summary

Methods
`void` `activateDiscovery(int refreshInterval)` Start DNS Self-Discovery, if possible.
`void` `deActivateDiscovery()` Stop DNS Self-Discovery.
`static void` `main(java.lang.String[] arg)` Utility that activates a dynamic configuration listener and dumps its contents periodically.
`void` `registerDicomService(java.lang.String calledApplicationEntityTitle, int port, java.lang.String primaryDeviceType)` Register a DICOM service on the local host.
`void` `registerWADOService(java.lang.String instanceName, int port, java.lang.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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### jmDNS

    protected javax.jmdns.JmDNS jmDNS

### Constructor Detail

#### NetworkConfigurationFromMulticastDNS

    public NetworkConfigurationFromMulticastDNS(int debugLevel)

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

Parameters:
  `debugLevel` -

### Method Detail

#### 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(java.lang.String calledApplicationEntityTitle,
                            int port,
                            java.lang.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(java.lang.String instanceName,
                           int port,
                           java.lang.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(java.lang.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