ProgressProxyImpl.h revision 7413b370d1af0fbac98c8ba74551c32e715b3af7
/* $Id$ */
/** @file
* IProgress implementation for Machine::openRemoteSession in VBoxSVC.
*/
/*
* Copyright (C) 2006-2010 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_PROGRESSPROXYIMPL
#define ____H_PROGRESSPROXYIMPL
#include "ProgressImpl.h"
#include "AutoCaller.h"
/**
* The ProgressProxy class allows proxying the important Progress calls and
* attributes to a different IProgress object for a period of time.
*/
//public com::SupportErrorInfoDerived<Progress, ProgressProxy, IProgress>,
{
void FinalRelease();
#if !defined (VBOX_COM_INPROC)
#endif
#if !defined (VBOX_COM_INPROC)
#endif
void uninit();
// IProgress properties
//STDMETHOD(COMGETTER(OperationCount))(ULONG *aOperationCount); - not necessary
// IProgress methods
// public methods only for internal purposes
const char *pcszComponent,
const char *aText, ...);
/** For com::SupportErrorInfoImpl. */
static const char *ComponentName() { return "ProgressProxy"; }
void clearOtherProgressObjectInternal(bool fEarly);
/** The other progress object. This can be NULL. */
/** Set if the other progress object has multiple operations. */
bool mfMultiOperation;
/** The weight the other progress object started at. */
/** The weight of other progress object. */
/** The operation number the other progress object started at. */
};
#endif /* !____H_PROGRESSPROXYIMPL */