Interface NativeDiscoveryStrategy

All Known Implementing Classes:
BaseNativeDiscoveryStrategy, DirectoryProviderDiscoveryStrategy, LinuxNativeDiscoveryStrategy, OsxNativeDiscoveryStrategy, WindowsNativeDiscoveryStrategy

public interface NativeDiscoveryStrategy
Specification for a component that can locate the LibVLC native libraries at run-time.
  • Method Summary

    Modifier and Type
    Method
    Description
    Attempt to discover the location of the libvlc native shared libraries.
    boolean
    Invoked when native shared libraries found.
    boolean
    Invoked after discovery has completed and found the native shared libraries.
    boolean
    Is this strategy supported?
  • Method Details

    • supported

      boolean supported()
      Is this strategy supported?

      Some strategies may, for example, only be applicable to one particular operating system or another.

      Returns:
      true if this strategy is supported; false otherwise
    • discover

      String discover()
      Attempt to discover the location of the libvlc native shared libraries.
      Returns:
      path containing the shared libraries, or null if this strategy did not find them
    • onFound

      boolean onFound(String path)
      Invoked when native shared libraries found.

      This serves two purposes: the first is to enable the strategy implementation to carry out bespoke work if needed; te second is to indicate whether or not the discovered path should be added to the JNA native library search path.

      Parameters:
      path - directory containing the shared libraries
      Returns:
      true if the path should be added to the JNA native search path; false if not
    • onSetPluginPath

      boolean onSetPluginPath(String path)
      Invoked after discovery has completed and found the native shared libraries.

      This method will not be invoked if there is already a VLC_PLUGIN_PATH environment variable set.

      Parameters:
      path - directory containing the shared libraries
      Returns:
      true if the plugin path was set successfully; false on error