mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
vbox: drop support for VirtualBox 4.x releases
Support for all the 4.x releases was ended by VirtualBox maintainers in Dec 2015. Even the "newest" 4.3.40 of those is only supported on old versions of Linux (Ubuntu <= 13.03, RHEL <= 6, SLES <= 11), which are all discontinued hosts from libvirt's POV. We can thus reasonably drop all 4.x support from the libvirt VirtualBox driver. Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
c1c235eb5c
commit
2d1fadb44d
@ -7,17 +7,11 @@ VBOX_DRIVER_SOURCES = \
|
||||
vbox/vbox_driver.h \
|
||||
vbox/vbox_snapshot_conf.c \
|
||||
vbox/vbox_snapshot_conf.h \
|
||||
vbox/vbox_V4_0.c \
|
||||
vbox/vbox_CAPI_v4_0.h \
|
||||
vbox/vbox_V4_1.c \
|
||||
vbox/vbox_CAPI_v4_1.h \
|
||||
vbox/vbox_V4_2.c \
|
||||
vbox/vbox_CAPI_v4_2.h \
|
||||
vbox/vbox_V4_2_20.c \
|
||||
vbox/vbox_CAPI_v4_2_20.h \
|
||||
vbox/vbox_V4_3.c \
|
||||
vbox/vbox_CAPI_v4_3.h \
|
||||
vbox/vbox_V4_3_4.c \
|
||||
vbox/vbox_CAPI_v4_3_4.h \
|
||||
vbox/vbox_V5_0.c \
|
||||
vbox/vbox_CAPI_v5_0.h \
|
||||
|
@ -1,37 +0,0 @@
|
||||
/** @file vbox_V4_0.c
|
||||
* C file to include support for multiple versions of VirtualBox
|
||||
* at runtime.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2008-2009 Sun Microsystems, Inc.
|
||||
*
|
||||
* This file is part of a free software library; you can redistribute
|
||||
* it and/or modify it under the terms of the GNU Lesser General
|
||||
* Public License version 2.1 as published by the Free Software
|
||||
* Foundation and shipped in the "COPYING.LESSER" file with this library.
|
||||
* The library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY of any kind.
|
||||
*
|
||||
* Sun LGPL Disclaimer: For the avoidance of doubt, except that if
|
||||
* any license choice other than GPL or LGPL is available it will
|
||||
* apply instead, Sun elects to use only the Lesser General Public
|
||||
* License version 2.1 (LGPLv2) at this time for any software where
|
||||
* a choice of LGPL license versions is made available with the
|
||||
* language indicating that LGPLv2 or any later version may be used,
|
||||
* or where a choice of which version of the LGPL is applied is
|
||||
* otherwise unspecified.
|
||||
*
|
||||
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
|
||||
* Clara, CA 95054 USA or visit http://www.sun.com if you need
|
||||
* additional information or have any questions.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/** The API Version */
|
||||
#define VBOX_API_VERSION 4000000
|
||||
/** Version specific prefix. */
|
||||
#define NAME(name) vbox40##name
|
||||
|
||||
#include "vbox_tmpl.c"
|
@ -1,37 +0,0 @@
|
||||
/** @file vbox_V4_0.c
|
||||
* C file to include support for multiple versions of VirtualBox
|
||||
* at runtime.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2008-2009 Sun Microsystems, Inc.
|
||||
*
|
||||
* This file is part of a free software library; you can redistribute
|
||||
* it and/or modify it under the terms of the GNU Lesser General
|
||||
* Public License version 2.1 as published by the Free Software
|
||||
* Foundation and shipped in the "COPYING.LESSER" file with this library.
|
||||
* The library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY of any kind.
|
||||
*
|
||||
* Sun LGPL Disclaimer: For the avoidance of doubt, except that if
|
||||
* any license choice other than GPL or LGPL is available it will
|
||||
* apply instead, Sun elects to use only the Lesser General Public
|
||||
* License version 2.1 (LGPLv2) at this time for any software where
|
||||
* a choice of LGPL license versions is made available with the
|
||||
* language indicating that LGPLv2 or any later version may be used,
|
||||
* or where a choice of which version of the LGPL is applied is
|
||||
* otherwise unspecified.
|
||||
*
|
||||
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
|
||||
* Clara, CA 95054 USA or visit http://www.sun.com if you need
|
||||
* additional information or have any questions.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/** The API Version */
|
||||
#define VBOX_API_VERSION 4001000
|
||||
/** Version specific prefix. */
|
||||
#define NAME(name) vbox41##name
|
||||
|
||||
#include "vbox_tmpl.c"
|
@ -1,13 +0,0 @@
|
||||
/** @file vbox_V4_2.c
|
||||
* C file to include support for multiple versions of VirtualBox
|
||||
* at runtime.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/** The API Version */
|
||||
#define VBOX_API_VERSION 4002000
|
||||
/** Version specific prefix. */
|
||||
#define NAME(name) vbox42##name
|
||||
|
||||
#include "vbox_tmpl.c"
|
@ -1,13 +0,0 @@
|
||||
/** @file vbox_V4_2_20.c
|
||||
* C file to include support for multiple versions of VirtualBox
|
||||
* at runtime.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/** The API Version */
|
||||
#define VBOX_API_VERSION 4002020
|
||||
/** Version specific prefix. */
|
||||
#define NAME(name) vbox42_20##name
|
||||
|
||||
#include "vbox_tmpl.c"
|
@ -1,13 +0,0 @@
|
||||
/** @file vbox_V4_3.c
|
||||
* C file to include support for multiple versions of VirtualBox
|
||||
* at runtime.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/** The API Version */
|
||||
#define VBOX_API_VERSION 4003000
|
||||
/** Version specific prefix. */
|
||||
#define NAME(name) vbox43##name
|
||||
|
||||
#include "vbox_tmpl.c"
|
@ -1,13 +0,0 @@
|
||||
/** @file vbox_V4_3_4.c
|
||||
* C file to include support for multiple versions of VirtualBox
|
||||
* at runtime.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/** The API Version */
|
||||
#define VBOX_API_VERSION 4003004
|
||||
/** Version specific prefix. */
|
||||
#define NAME(name) vbox43_4##name
|
||||
|
||||
#include "vbox_tmpl.c"
|
@ -30,7 +30,7 @@
|
||||
# define ___VBoxXPCOMC_cglue_h
|
||||
|
||||
/* This has to be the oldest version we support. */
|
||||
# include "vbox_CAPI_v4_0.h"
|
||||
# include "vbox_CAPI_v5_0.h"
|
||||
|
||||
/** Pointer to VBoxGetXPCOMCFunctions for the loaded VBoxXPCOMC so/dylib/dll. */
|
||||
extern PFNVBOXGETXPCOMCFUNCTIONS g_pfnGetFunctions;
|
||||
|
@ -430,19 +430,7 @@ typedef nsISupports IKeyboard;
|
||||
# define installUniformedAPI(gVBoxAPI, result) \
|
||||
do { \
|
||||
result = 0; \
|
||||
if (uVersion >= 3002051 && uVersion < 4000051) { \
|
||||
vbox40InstallUniformedAPI(&gVBoxAPI); \
|
||||
} else if (uVersion >= 4000051 && uVersion < 4001051) { \
|
||||
vbox41InstallUniformedAPI(&gVBoxAPI); \
|
||||
} else if (uVersion >= 4001051 && uVersion < 4002020) { \
|
||||
vbox42InstallUniformedAPI(&gVBoxAPI); \
|
||||
} else if (uVersion >= 4002020 && uVersion < 4002051) { \
|
||||
vbox42_20InstallUniformedAPI(&gVBoxAPI); \
|
||||
} else if (uVersion >= 4002051 && uVersion < 4003004) { \
|
||||
vbox43InstallUniformedAPI(&gVBoxAPI); \
|
||||
} else if (uVersion >= 4003004 && uVersion < 4003051) { \
|
||||
vbox43_4InstallUniformedAPI(&gVBoxAPI); \
|
||||
} else if (uVersion >= 4003051 && uVersion < 5000051) { \
|
||||
if (uVersion >= 5000000 && uVersion < 5000051) { \
|
||||
vbox50InstallUniformedAPI(&gVBoxAPI); \
|
||||
} else if (uVersion >= 5000051 && uVersion < 5001051) { \
|
||||
vbox51InstallUniformedAPI(&gVBoxAPI); \
|
||||
|
@ -884,19 +884,7 @@ virStorageDriverPtr vboxGetStorageDriver(uint32_t uVersion)
|
||||
/* Install gVBoxAPI according to the vbox API version.
|
||||
* Return -1 for unsupported version.
|
||||
*/
|
||||
if (uVersion >= 3002051 && uVersion < 4000051) {
|
||||
vbox40InstallUniformedAPI(&gVBoxAPI);
|
||||
} else if (uVersion >= 4000051 && uVersion < 4001051) {
|
||||
vbox41InstallUniformedAPI(&gVBoxAPI);
|
||||
} else if (uVersion >= 4001051 && uVersion < 4002020) {
|
||||
vbox42InstallUniformedAPI(&gVBoxAPI);
|
||||
} else if (uVersion >= 4002020 && uVersion < 4002051) {
|
||||
vbox42_20InstallUniformedAPI(&gVBoxAPI);
|
||||
} else if (uVersion >= 4002051 && uVersion < 4003004) {
|
||||
vbox43InstallUniformedAPI(&gVBoxAPI);
|
||||
} else if (uVersion >= 4003004 && uVersion < 4003051) {
|
||||
vbox43_4InstallUniformedAPI(&gVBoxAPI);
|
||||
} else if (uVersion >= 4003051 && uVersion < 5000051) {
|
||||
if (uVersion >= 5000000 && uVersion < 5000051) {
|
||||
vbox50InstallUniformedAPI(&gVBoxAPI);
|
||||
} else if (uVersion >= 5000051 && uVersion < 5001051) {
|
||||
vbox51InstallUniformedAPI(&gVBoxAPI);
|
||||
|
@ -49,19 +49,7 @@
|
||||
#include "virutil.h"
|
||||
|
||||
/* This one changes from version to version. */
|
||||
#if VBOX_API_VERSION == 4000000
|
||||
# include "vbox_CAPI_v4_0.h"
|
||||
#elif VBOX_API_VERSION == 4001000
|
||||
# include "vbox_CAPI_v4_1.h"
|
||||
#elif VBOX_API_VERSION == 4002000
|
||||
# include "vbox_CAPI_v4_2.h"
|
||||
#elif VBOX_API_VERSION == 4002020
|
||||
# include "vbox_CAPI_v4_2_20.h"
|
||||
#elif VBOX_API_VERSION == 4003000
|
||||
# include "vbox_CAPI_v4_3.h"
|
||||
#elif VBOX_API_VERSION == 4003004
|
||||
# include "vbox_CAPI_v4_3_4.h"
|
||||
#elif VBOX_API_VERSION == 5000000
|
||||
#if VBOX_API_VERSION == 5000000
|
||||
# include "vbox_CAPI_v5_0.h"
|
||||
#elif VBOX_API_VERSION == 5001000
|
||||
# include "vbox_CAPI_v5_1.h"
|
||||
@ -74,11 +62,7 @@
|
||||
/* Include this *last* or we'll get the wrong vbox_CAPI_*.h. */
|
||||
#include "vbox_glue.h"
|
||||
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
typedef IUSBController IUSBCommon;
|
||||
#else /* VBOX_API_VERSION >= 4003000 */
|
||||
typedef IUSBDeviceFilters IUSBCommon;
|
||||
#endif /* VBOX_API_VERSION >= 4003000 */
|
||||
|
||||
|
||||
#include "vbox_uniformed_api.h"
|
||||
@ -313,9 +297,6 @@ _vboxDomainSnapshotRestore(virDomainPtr dom,
|
||||
ISnapshot *snapshot)
|
||||
{
|
||||
vboxDriverPtr data = dom->conn->privateData;
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
IConsole *console = NULL;
|
||||
#endif /*VBOX_API_VERSION < 5000000*/
|
||||
IProgress *progress = NULL;
|
||||
PRUint32 state;
|
||||
nsresult rc;
|
||||
@ -348,10 +329,6 @@ _vboxDomainSnapshotRestore(virDomainPtr dom,
|
||||
}
|
||||
|
||||
rc = machine->vtbl->LockMachine(machine, data->vboxSession, LockType_Write);
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
if (NS_SUCCEEDED(rc))
|
||||
rc = data->vboxSession->vtbl->GetConsole(data->vboxSession, &console);
|
||||
#endif /*VBOX_API_VERSION < 5000000*/
|
||||
if (NS_FAILED(rc)) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("could not open VirtualBox session with domain %s"),
|
||||
@ -359,11 +336,7 @@ _vboxDomainSnapshotRestore(virDomainPtr dom,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
rc = console->vtbl->RestoreSnapshot(console, snapshot, &progress);
|
||||
#elif VBOX_API_VERSION >= 5000000 /*VBOX_API_VERSION < 5000000*/
|
||||
rc = machine->vtbl->RestoreSnapshot(machine, snapshot, &progress);
|
||||
#endif /*VBOX_API_VERSION >= 5000000*/
|
||||
|
||||
if (NS_FAILED(rc) || !progress) {
|
||||
if (rc == VBOX_E_INVALID_VM_STATE) {
|
||||
@ -389,9 +362,6 @@ _vboxDomainSnapshotRestore(virDomainPtr dom,
|
||||
|
||||
cleanup:
|
||||
VBOX_RELEASE(progress);
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
VBOX_RELEASE(console);
|
||||
#endif /*VBOX_API_VERSION < 5000000*/
|
||||
data->vboxSession->vtbl->UnlockMachine(data->vboxSession);
|
||||
vboxIIDUnalloc(&domiid);
|
||||
return ret;
|
||||
@ -449,20 +419,12 @@ _deleteConfig(IMachine *machine)
|
||||
SAFEARRAY **media,
|
||||
IProgress **progress);
|
||||
|
||||
# if VBOX_API_VERSION < 4003000
|
||||
((IMachine_Delete)machine->vtbl->Delete)(machine, &safeArray, &progress);
|
||||
# else
|
||||
((IMachine_Delete)machine->vtbl->DeleteConfig)(machine, &safeArray, &progress);
|
||||
# endif
|
||||
#else
|
||||
/* XPCOM doesn't like NULL as an array, even when the array size is 0.
|
||||
* Instead pass it a dummy array to avoid passing NULL. */
|
||||
IMedium *array[] = { NULL };
|
||||
# if VBOX_API_VERSION < 4003000
|
||||
machine->vtbl->Delete(machine, 0, array, &progress);
|
||||
# else
|
||||
machine->vtbl->DeleteConfig(machine, 0, array, &progress);
|
||||
# endif
|
||||
#endif
|
||||
if (progress != NULL) {
|
||||
progress->vtbl->WaitForCompletion(progress, -1);
|
||||
@ -472,10 +434,10 @@ _deleteConfig(IMachine *machine)
|
||||
|
||||
static int _pfnInitialize(vboxDriverPtr driver)
|
||||
{
|
||||
nsresult rc;
|
||||
|
||||
if (!(driver->pFuncs = g_pfnGetFunctions(VBOX_XPCOMC_VERSION)))
|
||||
return -1;
|
||||
#if VBOX_API_VERSION == 4002020 || VBOX_API_VERSION >= 4004004
|
||||
nsresult rc;
|
||||
|
||||
rc = driver->pFuncs->pfnClientInitialize(IVIRTUALBOXCLIENT_IID_STR,
|
||||
&driver->vboxClient);
|
||||
@ -486,10 +448,6 @@ static int _pfnInitialize(vboxDriverPtr driver)
|
||||
driver->vboxClient->vtbl->GetVirtualBox(driver->vboxClient, &driver->vboxObj);
|
||||
driver->vboxClient->vtbl->GetSession(driver->vboxClient, &driver->vboxSession);
|
||||
}
|
||||
#else
|
||||
driver->pFuncs->pfnComInitialize(IVIRTUALBOX_IID_STR, &driver->vboxObj,
|
||||
ISESSION_IID_STR, &driver->vboxSession);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -497,15 +455,11 @@ static int _pfnInitialize(vboxDriverPtr driver)
|
||||
static void _pfnUninitialize(vboxDriverPtr data)
|
||||
{
|
||||
if (data->pFuncs) {
|
||||
#if VBOX_API_VERSION == 4002020 || VBOX_API_VERSION >= 4003004
|
||||
VBOX_RELEASE(data->vboxObj);
|
||||
VBOX_RELEASE(data->vboxSession);
|
||||
VBOX_RELEASE(data->vboxClient);
|
||||
|
||||
data->pFuncs->pfnClientUninitialize();
|
||||
#else
|
||||
data->pFuncs->pfnComUninitialize();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -664,16 +618,6 @@ _virtualboxCreateMachine(vboxDriverPtr data, virDomainDefPtr def, IMachine **mac
|
||||
VBOX_UTF8_TO_UTF16(def->name, &machineNameUtf16);
|
||||
vboxIIDFromUUID(&iid, def->uuid);
|
||||
{
|
||||
#if VBOX_API_VERSION >= 4000000 && VBOX_API_VERSION < 4002000
|
||||
PRBool override = PR_FALSE;
|
||||
rc = data->vboxObj->vtbl->CreateMachine(data->vboxObj,
|
||||
NULL,
|
||||
machineNameUtf16,
|
||||
NULL,
|
||||
iid.value,
|
||||
override,
|
||||
machine);
|
||||
#else /* VBOX_API_VERSION >= 4002000 */
|
||||
char *createFlags = NULL;
|
||||
PRUnichar *createFlagsUtf16 = NULL;
|
||||
|
||||
@ -691,7 +635,6 @@ _virtualboxCreateMachine(vboxDriverPtr data, virDomainDefPtr def, IMachine **mac
|
||||
machine);
|
||||
cleanup:
|
||||
VIR_FREE(createFlags);
|
||||
#endif /* VBOX_API_VERSION >= 4002000 */
|
||||
}
|
||||
VBOX_UTF16_FREE(machineNameUtf16);
|
||||
vboxIIDUnalloc(&iid);
|
||||
@ -702,16 +645,11 @@ static nsresult
|
||||
_virtualboxCreateHardDisk(IVirtualBox *vboxObj, PRUnichar *format,
|
||||
PRUnichar *location, IMedium **medium)
|
||||
{
|
||||
/* In vbox 2.2 and 3.0, this function will create a IHardDisk object.
|
||||
* In vbox 3.1 and later, this function will create a IMedium object.
|
||||
/* This function will create a IMedium object.
|
||||
*/
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
return vboxObj->vtbl->CreateHardDisk(vboxObj, format, location, medium);
|
||||
#elif VBOX_API_VERSION >= 5000000 /*VBOX_API_VERSION >= 5000000*/
|
||||
return vboxObj->vtbl->CreateMedium(vboxObj, format, location,
|
||||
AccessMode_ReadWrite,
|
||||
DeviceType_HardDisk, medium);
|
||||
#endif /*VBOX_API_VERSION >= 5000000*/
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -727,12 +665,8 @@ _virtualboxFindHardDisk(IVirtualBox *vboxObj,
|
||||
PRUint32 accessMode ATTRIBUTE_UNUSED,
|
||||
IMedium **medium)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4002000
|
||||
return vboxObj->vtbl->FindMedium(vboxObj, location, deviceType, medium);
|
||||
#else /* VBOX_API_VERSION >= 4002000 */
|
||||
return vboxObj->vtbl->OpenMedium(vboxObj, location, deviceType, accessMode,
|
||||
PR_FALSE, medium);
|
||||
#endif /* VBOX_API_VERSION >= 4002000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -742,25 +676,15 @@ _virtualboxOpenMedium(IVirtualBox *vboxObj,
|
||||
PRUint32 accessMode,
|
||||
IMedium **medium)
|
||||
{
|
||||
#if VBOX_API_VERSION == 4000000
|
||||
return vboxObj->vtbl->OpenMedium(vboxObj, location, deviceType, accessMode,
|
||||
medium);
|
||||
#elif VBOX_API_VERSION >= 4001000
|
||||
return vboxObj->vtbl->OpenMedium(vboxObj, location, deviceType, accessMode,
|
||||
false, medium);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_virtualboxGetHardDiskByIID(IVirtualBox *vboxObj, vboxIID *iid, IMedium **medium)
|
||||
{
|
||||
#if VBOX_API_VERSION >= 4000000 && VBOX_API_VERSION < 4002000
|
||||
return vboxObj->vtbl->FindMedium(vboxObj, iid->value, DeviceType_HardDisk,
|
||||
medium);
|
||||
#else /* VBOX_API_VERSION >= 4002000 */
|
||||
return vboxObj->vtbl->OpenMedium(vboxObj, iid->value, DeviceType_HardDisk,
|
||||
AccessMode_ReadWrite, PR_FALSE, medium);
|
||||
#endif /* VBOX_API_VERSION >= 4002000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -927,11 +851,7 @@ _machineGetVRDEServer(IMachine *machine, IVRDEServer **VRDEServer)
|
||||
static nsresult
|
||||
_machineGetUSBCommon(IMachine *machine, IUSBCommon **USBCommon)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
return machine->vtbl->GetUSBController(machine, USBCommon);
|
||||
#else
|
||||
return machine->vtbl->GetUSBDeviceFilters(machine, USBCommon);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -1101,9 +1021,6 @@ _sessionGetMachine(ISession *session, IMachine **machine)
|
||||
static nsresult
|
||||
_consoleSaveState(IConsole *console, IProgress **progress)
|
||||
{
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
return console->vtbl->SaveState(console, progress);
|
||||
#else /*VBOX_API_VERSION < 5000000*/
|
||||
IMachine *machine;
|
||||
nsresult rc;
|
||||
|
||||
@ -1116,8 +1033,6 @@ _consoleSaveState(IConsole *console, IProgress **progress)
|
||||
_("unable to get machine from console. (error %d)"), rc);
|
||||
|
||||
return rc;
|
||||
|
||||
#endif /*VBOX_API_VERSION >= 5000000*/
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -1162,9 +1077,6 @@ static nsresult
|
||||
_consoleTakeSnapshot(IConsole *console, PRUnichar *name,
|
||||
PRUnichar *description, IProgress **progress)
|
||||
{
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
return console->vtbl->TakeSnapshot(console, name, description, progress);
|
||||
#else
|
||||
IMachine *machine;
|
||||
nsresult rc;
|
||||
PRUnichar *id = NULL;
|
||||
@ -1180,15 +1092,11 @@ _consoleTakeSnapshot(IConsole *console, PRUnichar *name,
|
||||
|
||||
VBOX_RELEASE(machine);
|
||||
return rc;
|
||||
#endif /* VBOX_API_VERSION >= 5000000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_consoleDeleteSnapshot(IConsole *console, vboxIID *iid, IProgress **progress)
|
||||
{
|
||||
#if VBOX_API_VERSION < 5000000 /* VBOX_API_VERSION < 5000000 */
|
||||
return console->vtbl->DeleteSnapshot(console, iid->value, progress);
|
||||
#else /* VBOX_API_VERSION >= 5000000 */
|
||||
IMachine *machine;
|
||||
nsresult rc;
|
||||
|
||||
@ -1203,7 +1111,6 @@ _consoleDeleteSnapshot(IConsole *console, vboxIID *iid, IProgress **progress)
|
||||
VBOX_RELEASE(machine);
|
||||
|
||||
return rc;
|
||||
#endif /* VBOX_API_VERSION >= 5000000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -1252,13 +1159,8 @@ static nsresult
|
||||
_systemPropertiesGetMaxNetworkAdapters(ISystemProperties *systemProperties, PRUint32 chipset ATTRIBUTE_UNUSED,
|
||||
PRUint32 *maxNetworkAdapters)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4001000
|
||||
return systemProperties->vtbl->GetNetworkAdapterCount(systemProperties,
|
||||
maxNetworkAdapters);
|
||||
#else /* VBOX_API_VERSION >= 4000000 */
|
||||
return systemProperties->vtbl->GetMaxNetworkAdapters(systemProperties, chipset,
|
||||
maxNetworkAdapters);
|
||||
#endif /* VBOX_API_VERSION >= 4000000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -1396,58 +1298,6 @@ _networkAdapterSetMACAddress(INetworkAdapter *adapter, PRUnichar *MACAddress)
|
||||
return adapter->vtbl->SetMACAddress(adapter, MACAddress);
|
||||
}
|
||||
|
||||
#if VBOX_API_VERSION < 4001000
|
||||
|
||||
static nsresult
|
||||
_networkAdapterGetBridgedInterface(INetworkAdapter *adapter, PRUnichar **hostInterface)
|
||||
{
|
||||
return adapter->vtbl->GetHostInterface(adapter, hostInterface);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_networkAdapterSetBridgedInterface(INetworkAdapter *adapter, PRUnichar *hostInterface)
|
||||
{
|
||||
return adapter->vtbl->SetHostInterface(adapter, hostInterface);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_networkAdapterGetHostOnlyInterface(INetworkAdapter *adapter, PRUnichar **hostOnlyInterface)
|
||||
{
|
||||
return adapter->vtbl->GetHostInterface(adapter, hostOnlyInterface);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_networkAdapterSetHostOnlyInterface(INetworkAdapter *adapter, PRUnichar *hostOnlyInterface)
|
||||
{
|
||||
return adapter->vtbl->SetHostInterface(adapter, hostOnlyInterface);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_networkAdapterAttachToBridgedInterface(INetworkAdapter *adapter)
|
||||
{
|
||||
return adapter->vtbl->AttachToBridgedInterface(adapter);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_networkAdapterAttachToInternalNetwork(INetworkAdapter *adapter)
|
||||
{
|
||||
return adapter->vtbl->AttachToInternalNetwork(adapter);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_networkAdapterAttachToHostOnlyInterface(INetworkAdapter *adapter)
|
||||
{
|
||||
return adapter->vtbl->AttachToHostOnlyInterface(adapter);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_networkAdapterAttachToNAT(INetworkAdapter *adapter)
|
||||
{
|
||||
return adapter->vtbl->AttachToNAT(adapter);
|
||||
}
|
||||
|
||||
#else /* VBOX_API_VERSION >= 4001000 */
|
||||
|
||||
static nsresult
|
||||
_networkAdapterGetBridgedInterface(INetworkAdapter *adapter, PRUnichar **bridgedInterface)
|
||||
{
|
||||
@ -1496,8 +1346,6 @@ _networkAdapterAttachToNAT(INetworkAdapter *adapter)
|
||||
return adapter->vtbl->SetAttachmentType(adapter, NetworkAttachmentType_NAT);
|
||||
}
|
||||
|
||||
#endif /* VBOX_API_VERSION >= 4001000 */
|
||||
|
||||
static nsresult
|
||||
_serialPortGetEnabled(ISerialPort *port, PRBool *enabled)
|
||||
{
|
||||
@ -1763,28 +1611,15 @@ _vrdeServerSetNetAddress(vboxDriverPtr data ATTRIBUTE_UNUSED,
|
||||
static nsresult
|
||||
_usbCommonEnable(IUSBCommon *USBCommon ATTRIBUTE_UNUSED)
|
||||
{
|
||||
nsresult rc = 0;
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
USBCommon->vtbl->SetEnabled(USBCommon, 1);
|
||||
# if VBOX_API_VERSION < 4002000
|
||||
rc = USBCommon->vtbl->SetEnabledEhci(USBCommon, 1);
|
||||
# else /* VBOX_API_VERSION >= 4002000 */
|
||||
rc = USBCommon->vtbl->SetEnabledEHCI(USBCommon, 1);
|
||||
# endif /* VBOX_API_VERSION >= 4002000 */
|
||||
#endif /* VBOX_API_VERSION >= 4003000 */
|
||||
/* We don't need to set usb enabled for vbox 4.3 and later */
|
||||
return rc;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_usbCommonGetEnabled(IUSBCommon *USBCommon ATTRIBUTE_UNUSED, PRBool *enabled)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
return USBCommon->vtbl->GetEnabled(USBCommon, enabled);
|
||||
#else /* VBOX_API_VERSION >= 4003000 */
|
||||
*enabled = true;
|
||||
return 0;
|
||||
#endif /* VBOX_API_VERSION >= 4003000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -1921,26 +1756,14 @@ _mediumCreateDiffStorage(IMedium *medium ATTRIBUTE_UNUSED,
|
||||
PRUint32 *variant ATTRIBUTE_UNUSED,
|
||||
IProgress **progress ATTRIBUTE_UNUSED)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
if (variantSize == 0)
|
||||
return 0;
|
||||
if (variantSize > 1)
|
||||
VIR_WARN("Only one variant is available in current version");
|
||||
return medium->vtbl->CreateDiffStorage(medium, target, variant[0], progress);
|
||||
#else /* VBOX_API_VERSION >= 4003000 */
|
||||
return medium->vtbl->CreateDiffStorage(medium, target, variantSize, variant, progress);
|
||||
#endif /* VBOX_API_VERSION >= 4003000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_mediumCreateBaseStorage(IMedium *medium, PRUint64 logicalSize,
|
||||
PRUint32 variant, IProgress **progress)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
return medium->vtbl->CreateBaseStorage(medium, logicalSize, variant, progress);
|
||||
#else
|
||||
return medium->vtbl->CreateBaseStorage(medium, logicalSize, 1, &variant, progress);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -2075,20 +1898,11 @@ _displayGetScreenResolution(IDisplay *display ATTRIBUTE_UNUSED,
|
||||
PRInt32 *xOrigin ATTRIBUTE_UNUSED,
|
||||
PRInt32 *yOrigin ATTRIBUTE_UNUSED)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
return display->vtbl->GetScreenResolution(display, screenId, width,
|
||||
height, bitsPerPixel);
|
||||
#elif VBOX_API_VERSION < 5000000 /* VBOX_API_VERSION >= 4003000 */
|
||||
return display->vtbl->GetScreenResolution(display, screenId, width,
|
||||
height, bitsPerPixel,
|
||||
xOrigin, yOrigin);
|
||||
#else /*VBOX_API_VERSION >= 5000000 */
|
||||
PRUint32 gms;
|
||||
|
||||
return display->vtbl->GetScreenResolution(display, screenId, width,
|
||||
height, bitsPerPixel,
|
||||
xOrigin, yOrigin, &gms);
|
||||
#endif /* VBOX_API_VERSION >= 5000000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -2097,15 +1911,9 @@ _displayTakeScreenShotPNGToArray(IDisplay *display, PRUint32 screenId,
|
||||
PRUint32 *screenDataSize,
|
||||
PRUint8** screenData)
|
||||
{
|
||||
#if VBOX_API_VERSION >= 5000000
|
||||
return display->vtbl->TakeScreenShotToArray(display, screenId, width,
|
||||
height, BitmapFormat_PNG,
|
||||
screenDataSize, screenData);
|
||||
#else /* VBOX_API_VERSION < 5000000 */
|
||||
return display->vtbl->TakeScreenShotPNGToArray(display, screenId, width,
|
||||
height, screenDataSize,
|
||||
screenData);
|
||||
#endif /* VBOX_API_VERSION >= 5000000 */
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -2197,31 +2005,19 @@ static nsresult
|
||||
_hnInterfaceEnableStaticIPConfig(IHostNetworkInterface *hni, PRUnichar *IPAddress,
|
||||
PRUnichar *networkMask)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4002000
|
||||
return hni->vtbl->EnableStaticIpConfig(hni, IPAddress, networkMask);
|
||||
#else
|
||||
return hni->vtbl->EnableStaticIPConfig(hni, IPAddress, networkMask);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_hnInterfaceEnableDynamicIPConfig(IHostNetworkInterface *hni)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4002000
|
||||
return hni->vtbl->EnableDynamicIpConfig(hni);
|
||||
#else
|
||||
return hni->vtbl->EnableDynamicIPConfig(hni);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_hnInterfaceDHCPRediscover(IHostNetworkInterface *hni)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4002000
|
||||
return hni->vtbl->DhcpRediscover(hni);
|
||||
#else
|
||||
return hni->vtbl->DHCPRediscover(hni);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -2695,15 +2491,7 @@ void NAME(InstallUniformedAPI)(vboxUniformedAPI *pVBoxAPI)
|
||||
pVBoxAPI->UIKeyboard = _UIKeyboard;
|
||||
pVBoxAPI->machineStateChecker = _machineStateChecker;
|
||||
|
||||
#if VBOX_API_VERSION >= 4001000
|
||||
pVBoxAPI->chipsetType = 1;
|
||||
#else /* VBOX_API_VERSION < 4001000 */
|
||||
pVBoxAPI->chipsetType = 0;
|
||||
#endif /* VBOX_API_VERSION < 4001000 */
|
||||
|
||||
#if VBOX_API_VERSION >= 4002000
|
||||
pVBoxAPI->vboxSnapshotRedefine = 1;
|
||||
#else /* VBOX_API_VERSION < 4002000 */
|
||||
pVBoxAPI->vboxSnapshotRedefine = 0;
|
||||
#endif /* VBOX_API_VERSION < 4002000 */
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ struct _vboxDriver {
|
||||
PCVBOXXPCOM pFuncs;
|
||||
IVirtualBox *vboxObj;
|
||||
ISession *vboxSession;
|
||||
# if VBOX_API_VERSION == 4002020 || VBOX_API_VERSION >= 4003004
|
||||
# ifdef VBOX_API_VERSION
|
||||
IVirtualBoxClient *vboxClient;
|
||||
# endif
|
||||
|
||||
@ -556,12 +556,6 @@ virDomainPtr vboxDomainLookupByUUID(virConnectPtr conn,
|
||||
const unsigned char *uuid);
|
||||
|
||||
/* Version specified functions for installing uniformed API */
|
||||
void vbox40InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox41InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox42InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox42_20InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox43InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox43_4InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox50InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox51InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
void vbox52InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
|
||||
|
Loading…
x
Reference in New Issue
Block a user