org.fourthline.cling

## Class ManagedUpnpService

- java.lang.Object
- - org.fourthline.cling.ManagedUpnpService

- All Implemented Interfaces:
    UpnpService

      @ApplicationScoped
      public class ManagedUpnpService
      extends Object
      implements UpnpService

  Adapter for CDI environments.

  The CDI container provides injectable instances of Cling UPnP interfaces, e.g. you can `@Inject Registry` or `@Inject ControlPoint`.

  Furthermore, this adapter also binds Cling into the CDI eventing system. You can `@Observe RemoteDeviceDiscoveryStart` etc. events of the registry.

  Even better, in the future you might be able to listen to GENA UPnP events with the same API - although this will require some magic for subscription...

  TODO: This is a work in progress.

  Author:
    Christian Bauer

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.fourthline.cling.UpnpService

      `UpnpService.Shutdown, UpnpService.Start`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ManagedUpnpService()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `UpnpServiceConfiguration` | `getConfiguration()`
    `ControlPoint` | `getControlPoint()`
    `ProtocolFactory` | `getProtocolFactory()`
    `Registry` | `getRegistry()`
    `Router` | `getRouter()`
    `void` | `shutdown()` Stopping the UPnP stack.
    `void` | `shutdown(UpnpService.Shutdown shutdown)`
    `void` | `start(UpnpService.Start start)`

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

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

- - ### Constructor Detail

    - #### ManagedUpnpService

          public ManagedUpnpService()

  - ### Method Detail

    - #### getConfiguration

          public UpnpServiceConfiguration getConfiguration()

      Specified by:
        `getConfiguration` in interface `UpnpService`

    - #### getControlPoint

          public ControlPoint getControlPoint()

      Specified by:
        `getControlPoint` in interface `UpnpService`

    - #### getProtocolFactory

          public ProtocolFactory getProtocolFactory()

      Specified by:
        `getProtocolFactory` in interface `UpnpService`

    - #### getRegistry

          public Registry getRegistry()

      Specified by:
        `getRegistry` in interface `UpnpService`

    - #### getRouter

          public Router getRouter()

      Specified by:
        `getRouter` in interface `UpnpService`

    - #### start

          public void start(@Observes
                            UpnpService.Start start)

    - #### shutdown

          public void shutdown()

      Description copied from interface: `UpnpService`
      Stopping the UPnP stack.

      Clients are required to stop the UPnP stack properly. Notifications for disappearing devices will be multicast'ed, existing event subscriptions cancelled.

      Specified by:
        `shutdown` in interface `UpnpService`

    - #### shutdown

          public void shutdown(@Observes
                               UpnpService.Shutdown shutdown)

Copyright © 2016 4th Line GmbH, Switzerland. All rights reserved.