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
Modifier and Type
Field
Description
`static final String`
`SERVICE_NAME`
Service name constant for the agent provider service.

## Method Summary

Modifier and Type
Method
Description
`IProvisioningAgent`
`createAgent(URI location)`
Creates a provisioning agent who metadata is stored at the given location.

## Field Details

### SERVICE_NAME

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

## Method Details

### 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()`