# IExtPackManager Interface Reference

Interface for managing VirtualBox Extension Packs. More...

List of all members.

## Public Member Functions
void | find (in wstring name,[retval] out IExtPack returnData)
| Returns the extension pack with the specified name if found.
void | openExtPackFile (in wstring path,[retval] out IExtPackFile file)
| Attempts to open an extension pack file in preparation for installation.
void | uninstall (in wstring name, in boolean forcedRemoval, in wstring displayInfo,[retval] out IProgress progess)
| Uninstalls an extension pack, removing all related files.
void | cleanup ()
| Cleans up failed installs and uninstalls.
void | queryAllPlugInsForFrontend (in wstring frontendName,[retval] out wstring[] plugInModules)
| Gets the path to all the plug-in modules for a given frontend.
void | isExtPackUsable (in wstring name,[retval] out boolean usable)
| Check if the given extension pack is loaded and usable.
## Public Attributes
readonly attribute IExtPack[] | installedExtPacks
| List of the installed extension packs.

## Detailed Description

Interface for managing VirtualBox Extension Packs.

TODO: Describe extension packs, how they are managed and how to create one.

Interface ID:
  `{3295E6CE-B051-47B2-9514-2C588BFE7554}`

## Member Function Documentation

void IExtPackManager::find | ( | in wstring | name,
|  | [retval] out IExtPack | returnData |
| ) |  |  |

Returns the extension pack with the specified name if found.

Parameters:

  | name | The name of the extension pack to locate.
  | returnData | The extension pack if found.

Expected result codes:

  VBOX_E_OBJECT_NOT_FOUND | No extension pack matching name was found.

void IExtPackManager::openExtPackFile | ( | in wstring | path,
|  | [retval] out IExtPackFile | file |
| ) |  |  |

Attempts to open an extension pack file in preparation for installation.

Parameters:

  | path | The path of the extension pack tarball.
  | file | The interface of the extension pack file object.

void IExtPackManager::uninstall | ( | in wstring | name,
|  | in boolean | forcedRemoval,
|  | in wstring | displayInfo,
|  | [retval] out IProgress | progess |
| ) |  |  |

Uninstalls an extension pack, removing all related files.

Parameters:

  | name | The name of the extension pack to uninstall.
  | forcedRemoval | Forced removal of the extension pack. This means that the uninstall hook will not be called.
  | displayInfo | Platform specific display information. Reserved for future hacks.
  | progess | Progress object for the operation.

void IExtPackManager::cleanup | ( |  | ) |

Cleans up failed installs and uninstalls.

void IExtPackManager::queryAllPlugInsForFrontend | ( | in wstring | frontendName,
|  | [retval] out wstring[] | plugInModules |
| ) |  |  |

Gets the path to all the plug-in modules for a given frontend.

This is a convenience method that is intended to simplify the plug-in loading process for a frontend.

Parameters:

  | frontendName | The name of the frontend or component.
  | plugInModules | Array containing the plug-in modules (full paths).

void IExtPackManager::isExtPackUsable | ( | in wstring | name,
|  | [retval] out boolean | usable |
| ) |  |  |

Check if the given extension pack is loaded and usable.

Parameters:

  | name | The name of the extension pack to check for.
  | usable | Is the given extension pack loaded and usable.

## Member Data Documentation

readonly attribute IExtPack [] IExtPackManager::installedExtPacks

List of the installed extension packs.