VirtualBox Main API

Public Member Functions | Public Attributes | List of all members
IExtPackManager Interface Reference

Interface for managing VirtualBox Extension Packs. More...

Inheritance diagram for IExtPackManager:

## 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 progress)
| 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:
  `{70401EEF-C8E9-466B-9660-45CB3E9979E4}`

## Member Function Documentation

## ◆ find()

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.

## ◆ openExtPackFile()

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. This can optionally be followed by a "::SHA-256=hex-digit" of the tarball.
  file | The interface of the extension pack file object.

## ◆ uninstall()

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

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.
  progress | Progress object for the operation.

## ◆ cleanup()

void IExtPackManager::cleanup | ( |  | ) |

Cleans up failed installs and uninstalls.

## ◆ queryAllPlugInsForFrontend()

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).

## ◆ isExtPackUsable()

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

## ◆ installedExtPacks

readonly attribute IExtPack [] IExtPackManager::installedExtPacks

List of the installed extension packs.