Package org.eclipse.equinox.p2.core

## Interface IProvisioningAgentProvider

    public interface IProvisioningAgentProvider

An OSGi service that is used to create or obtain instances of an `IProvisioningAgent`.

Since:
  2.0

### Field Summary

Fields
`static String` `SERVICE_NAME` Service name constant for the agent provider service.

### Method Summary

All Methods Instance Methods Abstract Methods
`IProvisioningAgent` `createAgent​(URI location)` Creates a provisioning agent who metadata is stored at the given location.

### Field Detail

#### SERVICE_NAME

    static final String SERVICE_NAME

Service name constant for the agent provider service.

### Method Detail

#### createAgent

    IProvisioningAgent createAgent​(URI location)
                            throws ProvisionException

Creates a provisioning agent who metadata is stored at the given location. If a `null` location is provided, the provisioning agent for the currently running system is returned, if available. If a `null` location is provided and the currently running system has not been provisioned by any known agent, `null` is returned.

Callers of this method are responsible for stopping the agent when they are finished using it by invoking `IProvisioningAgent.stop()`.

Parameters:
  `location` - The location where the agent metadata is stored
Returns:
  A provisioning agent, or `null` if a `null` parameter is provided and there is no currently running agent.
Throws:
  `ProvisionException` - If agent creation failed. Reasons include:
  - The location is not writeable.
See Also:
  `IProvisioningAgent.stop()`