VirtualBoxImpl.h revision 82ae84c8df758538c13cc48d2e569bd8903105d2
/* $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"
#include "objectslist.h"
#include "VirtualBoxWrap.h"
#ifdef RT_OS_WINDOWS
# include "win/resource.h"
#endif
{
}
#ifdef VBOX_WITH_EXTPACK
#endif
#ifdef RT_OS_WINDOWS
#endif
{
struct MediaRegistry;
}
#ifdef RT_OS_WINDOWS
#endif
{
// Kind of redundant (VirtualBoxWrap declares itself not aggregatable and
// CComCoClass<VirtualBox, &CLSID_VirtualBox> as aggregatable, the former
// is the first inheritance), but the C++ multiple inheritance rules and
// the class factory in svcmain.cpp needs this to disambiguate.
void FinalRelease();
/* public initializer/uninitializer for internal purposes only */
const Utf8Str &strMachineFolder);
void uninit();
/* 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 i_dumpAllBackRefs();
#endif
#ifdef RT_OS_WINDOWS
#endif
void i_updateClientWatcher();
bool fPermitInaccessible,
bool aSetError,
bool aSetError,
HRESULT i_convertMachineGroups(const std::vector<com::Utf8Str> aMachineGroups, StringsList *pllMachineGroups);
bool aSetError,
bool aSetError,
bool aSetError,
bool fRefresh,
bool aSetError,
const Guid &i_getGlobalRegistryId() const;
SystemProperties* i_getSystemProperties() const;
#ifdef VBOX_WITH_EXTPACK
ExtPackManager* i_getExtPackManager() const;
#endif
#ifdef VBOX_WITH_RESOURCE_USAGE_API
#endif /* VBOX_WITH_RESOURCE_USAGE_API */
/** Returns the VirtualBox home directory */
HRESULT i_registerMedium(const ComObjPtr<Medium> &pMedium, ComObjPtr<Medium> *ppMedium, DeviceType_T argType, AutoWriteLock &mediaTreeLock);
const Utf8Str &strNewConfigDir);
const Guid &uuidRegistry,
const Utf8Str &strMachineFolder);
void i_saveModifiedRegistries();
const Utf8Str& i_settingsFilePath();
AutostartDb* i_getAutostartDb() const;
// wrapped IVirtualBox properties
// wrapped IVirtualBox methods
{
return setErrorInternal(aResultCode, getStaticClassIID(), getStaticComponentName(), aText, false, true);
}
bool aSaveRegistry = true);
bool aSaveRegistry = true);
bool aSaveRegistry = true);
bool aSaveRegistry = true);
int i_decryptSettings();
const uint8_t *aCiphertext,
size_t aCiphertextSize) const;
size_t aCiphertextSize) const;
struct Data; // opaque data structure, defined in VirtualBoxImpl.cpp
Data *m;
/* static variables (defined in VirtualBoxImpl.cpp) */
#ifdef RT_OS_WINDOWS
#endif
};
////////////////////////////////////////////////////////////////////////////////
#endif // !____H_VIRTUALBOXIMPL