VirtualBoxImpl.h revision c58f1213e628a545081c70e26c6b67a841cff880
/* $Id$ */
/** @file
* VirtualBox COM class implementation
*/
/*
* Copyright (C) 2006-2013 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_VIRTUALBOXIMPL
#define ____H_VIRTUALBOXIMPL
#include "VirtualBoxBase.h"
#ifdef RT_OS_WINDOWS
# include "win/resource.h"
#endif
{
}
#ifdef VBOX_WITH_EXTPACK
#endif
#ifdef RT_OS_WINDOWS
#endif
struct VMClientWatcherData;
{
struct MediaRegistry;
}
#ifdef RT_OS_WINDOWS
#endif
{
VirtualBox();
~VirtualBox();
void FinalRelease();
/* public initializer/uninitializer for internal purposes only */
const Utf8Str &strMachineFolder);
void uninit();
/* IVirtualBox properties */
/* IVirtualBox methods */
STDMETHOD(ComposeMachineFilename)(IN_BSTR aName, IN_BSTR aGroup, IN_BSTR aCreateFlags, IN_BSTR aBaseFolder, BSTR *aFilename);
STDMETHOD(GetMachinesByGroups)(ComSafeArrayIn(IN_BSTR, aGroups), ComSafeArrayOut(IMachine *, aMachines));
STDMETHOD(GetMachineStates)(ComSafeArrayIn(IMachine *, aMachines), ComSafeArrayOut(MachineState_T, aStates));
/* public methods only for internal purposes */
/**
* Override of the default locking class to be used for validating lock
* order with the standard member lock handle.
*/
{
return LOCKCLASS_VIRTUALBOXOBJECT;
}
#ifdef DEBUG
void dumpAllBackRefs();
#endif
#ifdef RT_OS_WINDOWS
#endif
void updateClientWatcher();
bool fPermitInaccessible,
bool aSetError,
bool aSetError,
HRESULT convertMachineGroups(ComSafeArrayIn(IN_BSTR, aMachineGroups), StringsList *pllMachineGroups);
bool aSetError,
bool aSetError,
bool aSetError,
bool fRefresh,
bool aSetError,
const Guid &getGlobalRegistryId() const;
SystemProperties* getSystemProperties() const;
#ifdef VBOX_WITH_EXTPACK
ExtPackManager* getExtPackManager() const;
#endif
#ifdef VBOX_WITH_RESOURCE_USAGE_API
#endif /* VBOX_WITH_RESOURCE_USAGE_API */
/** Returns the VirtualBox home directory */
HRESULT registerMedium(const ComObjPtr<Medium> &pMedium, ComObjPtr<Medium> *ppMedium, DeviceType_T argType);
const Utf8Str &strNewConfigDir);
const Guid &uuidRegistry,
const Utf8Str &strMachineFolder);
void saveModifiedRegistries();
static const Bstr &getVersionNormalized();
const Utf8Str& settingsFilePath();
AutostartDb* getAutostartDb() const;
{
return setErrorInternal(aResultCode, getStaticClassIID(), getStaticComponentName(), aText, false, true);
}
bool aSaveRegistry = true);
bool aSaveRegistry = true);
int decryptSettings();
size_t aCiphertextSize) const;
struct Data; // opaque data structure, defined in VirtualBoxImpl.cpp
Data *m;
/* static variables (defined in VirtualBoxImpl.cpp) */
static Bstr sVersionNormalized;
static Bstr sPackageType;
static Bstr sAPIVersion;
#ifdef RT_OS_WINDOWS
#endif
};
////////////////////////////////////////////////////////////////////////////////
#endif // !____H_VIRTUALBOXIMPL