ExtPackManagerImpl.h revision 106e42b6203965c6117fc263ea924465e5a319fb
/* $Id$ */
/** @file
* VirtualBox Main - interface for Extension Packs, VBoxSVC & VBoxC.
*/
/*
* Copyright (C) 2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef ____H_EXTPACKMANAGERIMPL
#define ____H_EXTPACKMANAGERIMPL
#include "VirtualBoxBase.h"
/**
* An extension pack file.
*/
{
* @{ */
void FinalRelease();
void uninit();
/** @} */
/** @name IExtPackBase interfaces
* @{ */
/** @} */
/** @name IExtPackFile interfaces
* @{ */
/** @} */
/** @name Misc init helpers
* @{ */
/** @} */
struct Data;
/** Pointer to the private instance. */
Data *m;
};
/**
* An installed extension pack.
*/
{
* @{ */
void FinalRelease();
void uninit();
/** @} */
/** @name IExtPackBase interfaces
* @{ */
/** @} */
/** @name IExtPack interfaces
* @{ */
/** @} */
/** @name Internal interfaces used by ExtPackManager.
* @{ */
bool wantsToBeDefaultVrde(void) const;
/** @} */
/** @name Internal helper methods.
* @{ */
void probeAndLoad(void);
/** @} */
/** @name Extension Pack Helpers
* @{ */
static DECLCALLBACK(int) hlpFindModule(PCVBOXEXTPACKHLP pHlp, const char *pszName, const char *pszExt,
static DECLCALLBACK(int) hlpGetFilePath(PCVBOXEXTPACKHLP pHlp, const char *pszFilename, char *pszPath, size_t cbPath);
/** @} */
struct Data;
/** Pointer to the private instance. */
Data *m;
};
/**
* Extension pack manager.
*/
{
* @{ */
void FinalRelease();
void uninit();
/** @} */
/** @name IExtPack interfaces
* @{ */
STDMETHOD(QueryAllPlugInsForFrontend)(IN_BSTR a_bstrFrontend, ComSafeArrayOut(BSTR, a_pabstrPlugInModules));
/** @} */
/** @name Internal interfaces used by other Main classes.
* @{ */
void callAllVirtualBoxReadyHooks(void);
bool isExtPackUsable(const char *a_pszExtPack);
/** @} */
void removeExtPack(const char *a_pszName);
struct Data;
/** Pointer to the private instance. */
Data *m;
};
#endif
/* vi: set tabstop=4 shiftwidth=4 expandtab: */