VirtualBox

Ignore:
Timestamp:
Sep 22, 2017 2:15:57 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
118082
Message:

ExtPack: Split up main module of extension pack, have a mandatory one for VBoxSVC and an optional one for the VM process. This finally eliminates the need to drag VBoxVMM into VBoxSVC on some platforms. Many other small cleanups, including reliably calling the unload hook from within a VM process, copy/paste with forgotten adjustments (e.g. extpacks still talking about skeleton) and spelling fixes.

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ExtPacks/Skeleton/VBoxSkeletonMainVM.cpp

    r68805 r68828  
    11/* $Id$ */
    22/** @file
    3  * Skeleton main module.
     3 * Skeleton main VM module.
    44 */
    55
    66/*
    7  * Copyright (C) 2010-2016 Oracle Corporation
     7 * Copyright (C) 2010-2017 Oracle Corporation
    88 *
    99 * Permission is hereby granted, free of charge, to any person
     
    5151
    5252// /**
    53 //  * @interface_method_impl{VBOXEXTPACKREG,pfnInstalled}
     53//  * @interface_method_impl{VBOXEXTPACKVMREG,pfnConsoleReady}
    5454//  */
    55 // static DECLCALLBACK(void) vboxSkeletonExtPack_Installed(PCVBOXEXTPACKREG pThis, VBOXEXTPACK_IF_CS(IVirtualBox) *pVirtualBox);
    56 // /**
    57 //  * @interface_method_impl{VBOXEXTPACKREG,pfnUninstall}
    58 //  */
    59 // static DECLCALLBACK(int)  vboxSkeletonExtPack_Uninstall(PCVBOXEXTPACKREG pThis, VBOXEXTPACK_IF_CS(IVirtualBox) *pVirtualBox);
     55// static DECLCALLBACK(void)  vboxSkeletonExtPackVM_ConsoleReady(PCVBOXEXTPACKVMREG pThis, VBOXEXTPACK_IF_CS(IConsole) *pConsole);
    6056//
    6157// /**
    62 //  * @interface_method_impl{VBOXEXTPACKREG,pfnVirtualBoxReady}
     58//  * @interface_method_impl{VBOXEXTPACKVMREG,pfnUnload}
    6359//  */
    64 // static DECLCALLBACK(void)  vboxSkeletonExtPack_VirtualBoxReady(PCVBOXEXTPACKREG pThis, VBOXEXTPACK_IF_CS(IVirtualBox) *pVirtualBox);
     60// static DECLCALLBACK(void) vboxSkeletonExtPackVM_Unload(PCVBOXEXTPACKVMREG pThis);
     61//
     62//  * @interface_method_impl{VBOXEXTPACKVMREG,pfnVMConfigureVMM}
     63//  */
     64// static DECLCALLBACK(int)  vboxSkeletonExtPackVM_VMConfigureVMM(PCVBOXEXTPACKVMREG pThis, VBOXEXTPACK_IF_CS(IConsole) *pConsole, PVM pVM);
    6565//
    6666// /**
    67 //  * @interface_method_impl{VBOXEXTPACKREG,pfnUnload}
     67//  * @interface_method_impl{VBOXEXTPACKVMREG,pfnVMPowerOn}
    6868//  */
    69 // static DECLCALLBACK(void) vboxSkeletonExtPack_Unload(PCVBOXEXTPACKREG pThis);
    70 // /**
    71 //  * @interface_method_impl{VBOXEXTPACKREG,pfnVMCreated}
    72 //  */
    73 // static DECLCALLBACK(int)  vboxSkeletonExtPack_VMCreated(PCVBOXEXTPACKREG pThis, VBOXEXTPACK_IF_CS(IVirtualBox) *pVirtualBox, IMachine *pMachine);
     69// static DECLCALLBACK(int)  vboxSkeletonExtPackVM_VMPowerOn(PCVBOXEXTPACKVMREG pThis, VBOXEXTPACK_IF_CS(IConsole) *pConsole, PVM pVM);
    7470//
    7571// /**
    76 //  * @interface_method_impl{VBOXEXTPACKREG,pfnVMConfigureVMM}
     72//  * @interface_method_impl{VBOXEXTPACKVMREG,pfnVMPowerOff}
    7773//  */
    78 // static DECLCALLBACK(int)  vboxSkeletonExtPack_VMConfigureVMM(PCVBOXEXTPACKREG pThis, IConsole *pConsole, PVM pVM);
     74// static DECLCALLBACK(void) vboxSkeletonExtPackVM_VMPowerOff(PCVBOXEXTPACKVMREG pThis, VBOXEXTPACK_IF_CS(IConsole) *pConsole, PVM pVM);
    7975//
    8076// /**
    81 //  * @interface_method_impl{VBOXEXTPACKREG,pfnVMPowerOn}
     77//  * @interface_method_impl{VBOXEXTPACKVMREG,pfnQueryObject}
    8278//  */
    83 // static DECLCALLBACK(int)  vboxSkeletonExtPack_VMPowerOn(PCVBOXEXTPACKREG pThis, IConsole *pConsole, PVM pVM);
    84 // /**
    85 //  * @interface_method_impl{VBOXEXTPACKREG,pfnVMPowerOff}
    86 //  */
    87 // static DECLCALLBACK(void) vboxSkeletonExtPack_VMPowerOff(PCVBOXEXTPACKREG pThis, IConsole *pConsole, PVM pVM);
    88 // /**
    89 //  * @interface_method_impl{VBOXEXTPACKREG,pfnVMPowerOff}
    90 //  */
    91 // static DECLCALLBACK(void) vboxSkeletonExtPack_QueryObject(PCVBOXEXTPACKREG pThis, PCRTUUID pObjectId);
     79// static DECLCALLBACK(void) vboxSkeletonExtPackVM_QueryObject(PCVBOXEXTPACKVMREG pThis, PCRTUUID pObjectId);
    9280
    9381
    94 static const VBOXEXTPACKREG g_vboxSkeletonExtPackReg =
     82static const VBOXEXTPACKVMREG g_vboxSkeletonExtPackVMReg =
    9583{
    96     VBOXEXTPACKREG_VERSION,
     84    VBOXEXTPACKVMREG_VERSION,
    9785    /* .uVBoxFullVersion =  */  VBOX_FULL_VERSION,
    98     /* .pfnInstalled =      */  NULL,
    99     /* .pfnUninstall =      */  NULL,
    100     /* .pfnVirtualBoxReady =*/  NULL,
    10186    /* .pfnConsoleReady =   */  NULL,
    10287    /* .pfnUnload =         */  NULL,
    103     /* .pfnVMCreated =      */  NULL,
    10488    /* .pfnVMConfigureVMM = */  NULL,
    10589    /* .pfnVMPowerOn =      */  NULL,
     
    11397    /* .pfnReserved6 =      */  NULL,
    11498    /* .u32Reserved7 =      */  0,
    115     VBOXEXTPACKREG_VERSION
     99    VBOXEXTPACKVMREG_VERSION
    116100};
    117101
    118102
    119 /** @callback_method_impl{FNVBOXEXTPACKREGISTER}  */
    120 extern "C" DECLEXPORT(int) VBoxExtPackRegister(PCVBOXEXTPACKHLP pHlp, PCVBOXEXTPACKREG *ppReg, PRTERRINFO pErrInfo)
     103/** @callback_method_impl{FNVBOXEXTPACKVMREGISTER}  */
     104extern "C" DECLEXPORT(int) VBoxExtPackVMRegister(PCVBOXEXTPACKHLP pHlp, PCVBOXEXTPACKVMREG *ppReg, PRTERRINFO pErrInfo)
    121105{
    122106    /*
     
    139123     */
    140124    g_pHlp = pHlp;
    141     *ppReg = &g_vboxSkeletonExtPackReg;
     125    *ppReg = &g_vboxSkeletonExtPackVMReg;
    142126
    143127    return VINF_SUCCESS;
Note: See TracChangeset for help on using the changeset viewer.

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