ApplianceImpl.h revision 22ea904a6fe5c95f54c4374502747cc844ce8204
/* $Id$ */
/** @file
*
* VirtualBox COM class implementation
*/
/*
* Copyright (C) 2006-2009 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_APPLIANCEIMPL
#define ____H_APPLIANCEIMPL
/* VBox includes */
#include "VirtualBoxBase.h"
/* VBox forward declarations */
struct VirtualSystemDescriptionEntry;
{
struct HardDiskController;
struct VirtualSystem;
struct DiskImage;
}
{
}
{
}
{
enum OVFFormat
{
};
// public initializer/uninitializer for internal purposes only
void FinalRelease() { uninit(); }
void uninit();
/* IAppliance properties */
STDMETHOD(COMGETTER(VirtualSystemDescriptions))(ComSafeArrayOut(IVirtualSystemDescription*, aVirtualSystemDescriptions));
/* IAppliance methods */
/* Import methods */
/* Export methods */
/* public methods only for internal purposes */
{
return setErrorInternal(aResultCode, getStaticClassIID(), getStaticComponentName(), aText, false, true);
}
/* private instance data */
/** weak VirtualBox parent */
VirtualBox* const mVirtualBox;
struct Data; // opaque, defined in ApplianceImpl.cpp
Data *m;
bool isApplianceIdle();
void addWarning(const char* aWarning, ...);
void disksWeight();
enum SetUpProgressMode { ImportFileWithManifest, ImportFileNoManifest, ImportS3, WriteFile, WriteS3 };
const Bstr &bstrDescription,
struct LocationInfo;
struct TaskOVF;
HRESULT manifestVerify(const LocationInfo &locInfo, const ovf::OVFReader &reader, ComObjPtr<Progress> &pProgress);
struct ImportStack;
const Utf8Str &strTargetPath,
ImportStack &stack);
ImportStack &stack);
ImportStack &stack);
struct XMLStack;
HRESULT writeFS(const LocationInfo &locInfo, const OVFFormat enFormat, ComObjPtr<Progress> &pProgress);
};
{
Utf8Str strVboxSuggested; // configuration value (type-dependent); original value suggested by interpret()
Utf8Str strVboxCurrent; // configuration value (type-dependent); current value, either from interpret() or setFinalValue()
Utf8Str strExtraConfigSuggested; // extra configuration key=value strings (type-dependent); original value suggested by interpret()
Utf8Str strExtraConfigCurrent; // extra configuration key=value strings (type-dependent); current value, either from interpret() or setFinalValue()
};
{
// public initializer/uninitializer for internal purposes only
void FinalRelease() { uninit(); }
void uninit();
/* IVirtualSystemDescription properties */
/* IVirtualSystemDescription methods */
/* public methods only for internal purposes */
const Utf8Str &aVboxValue,
/* private instance data */
struct Data;
Data *m;
};
#endif // ____H_APPLIANCEIMPL
/* vi: set tabstop=4 shiftwidth=4 expandtab: */