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 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:
{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
nameThe name of the extension pack to locate.
returnDataThe extension pack if found.
Expected result codes:
VBOX_E_OBJECT_NOT_FOUNDNo 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
pathThe path of the extension pack tarball. This can optionally be followed by a "::SHA-256=hex-digit" of the tarball.
fileThe interface of the extension pack file object.

◆ uninstall()

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
nameThe name of the extension pack to uninstall.
forcedRemovalForced removal of the extension pack. This means that the uninstall hook will not be called.
displayInfoPlatform specific display information. Reserved for future hacks.
progessProgress 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
frontendNameThe name of the frontend or component.
plugInModulesArray 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
nameThe name of the extension pack to check for.
usableIs the given extension pack loaded and usable.

Member Data Documentation

◆ installedExtPacks

readonly attribute IExtPack [] IExtPackManager::installedExtPacks

List of the installed extension packs.