Package ghidra.framework.plugintool

# Interface ServiceProvider

All Known Subinterfaces:
  `Tool`

All Known Implementing Classes:
  `AbstractDockingTool`, `FrontEndTool`, `GhidraTool`, `ModalPluginTool`, `PluginTool`, `ServiceProviderDecorator`, `ServiceProviderStub`, `StandAlonePluginTool`, `TestFrontEndTool`, `TestTool`

public interface ServiceProvider
Interface for providing Services

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addServiceListener(ServiceListener listener)`
  Adds a listener that will be called as services are added and removed from this ServiceProvider.
  `<T> T`
  `getService(Class<T> serviceClass)`
  Returns the Service object that implements the given service interface..
  `void`
  `removeServiceListener(ServiceListener listener)`
  Removes the given listener from this ServiceProvider.

- ## Method Details

  - ### getService

    <T> T getService(Class<T> serviceClass)
    Returns the Service object that implements the given service interface..
    Type Parameters:
      `T` - The type
    Parameters:
      `serviceClass` - the interface class.
    Returns:
      the Service object that implements the given service interface.

  - ### addServiceListener

    void addServiceListener(ServiceListener listener)
    Adds a listener that will be called as services are added and removed from this ServiceProvider.
    Parameters:
      `listener` - The listener to add.

  - ### removeServiceListener

    void removeServiceListener(ServiceListener listener)
    Removes the given listener from this ServiceProvider. This method does nothing if the given listener is not contained by this ServiceProvider.
    Parameters:
      `listener` - The listener to remove