VirtualBox

Changeset 35184 in vbox for trunk/include/VBox/ExtPack


Ignore:
Timestamp:
Dec 16, 2010 2:00:55 PM (14 years ago)
Author:
vboxsync
Message:

ExtPack: Changed the installed callback so that it can report back error info and trigger an immediate uninstall ifhoost incompatibilities are found.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/ExtPack/ExtPack.h

    r34287 r35184  
    185185     * This is called in the context of the per-user service (VBoxSVC).
    186186     *
     187     * @returns VBox status code.
     188     * @retval  VERR_EXTPACK_UNSUPPORTED_HOST_UNINSTALL if the extension pack
     189     *          requires some different host version or a prerequisite is
     190     *          missing from the host.  Automatic uninstall will be attempted.
     191     *          Must set error info.
     192     *
    187193     * @param   pThis       Pointer to this structure.
    188194     * @param   pVirtualBox The VirtualBox interface.
    189      */
    190     DECLCALLBACKMEMBER(void, pfnInstalled)(PCVBOXEXTPACKREG pThis, VBOXEXTPACK_IF_CS(IVirtualBox) *pVirtualBox);
     195     * @param   pErrInfo    Where to return extended error information.
     196     */
     197    DECLCALLBACKMEMBER(int, pfnInstalled)(PCVBOXEXTPACKREG pThis, VBOXEXTPACK_IF_CS(IVirtualBox) *pVirtualBox,
     198                                          PRTERRINFO pErrInfo);
    191199
    192200    /**
     
    198206     * @param   pThis       Pointer to this structure.
    199207     * @param   pVirtualBox The VirtualBox interface.
     208     *
    200209     * @todo    This is currently called holding locks making pVirtualBox
    201210     *          relatively unusable.
     
    319328 *                          be valid and unchanged until the module is unloaded
    320329 *                          (i.e. use some static const data for it).
    321  * @param   pszErr          Error message buffer for explaining any failure.
    322  * @param   cbErr           The size of the error message buffer.
    323  */
    324 typedef DECLCALLBACK(int) FNVBOXEXTPACKREGISTER(PCVBOXEXTPACKHLP pHlp, PCVBOXEXTPACKREG *ppReg, char *pszErr, size_t cbErr);
     330 * @param   pErrInfo        Where to return extended error information.
     331 */
     332typedef DECLCALLBACK(int) FNVBOXEXTPACKREGISTER(PCVBOXEXTPACKHLP pHlp, PCVBOXEXTPACKREG *ppReg, PRTERRINFO pErrInfo);
    325333/** Pointer to a FNVBOXEXTPACKREGISTER. */
    326334typedef FNVBOXEXTPACKREGISTER *PFNVBOXEXTPACKREGISTER;
     
    339347#define VBOXEXTPACK_IS_VER_COMPAT(u32Provider, u32User) \
    340348    (    VBOXEXTPACK_IS_MAJOR_VER_EQUAL(u32Provider, u32User) \
    341       && RT_LOWORD(u32Provider) >= RT_LOWORD(u32User) )
     349      && (int32_t)RT_LOWORD(u32Provider) >= (int32_t)RT_LOWORD(u32User) ) /* stupid casts to shut up gcc */
    342350
    343351/**
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette