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

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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, 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` - ignored

    - #### NetworkConfigurationFromMulticastDNS

          public NetworkConfigurationFromMulticastDNS()

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

  - ### 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