PerformanceImpl.h revision e07acfb7f2dbb8bb40804024c79fd3139bdb3f24
/* $Id$ */
/** @file
*
* VBox Performance COM class implementation.
*/
/*
* Copyright (C) 2008-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_PERFORMANCEIMPL
#define ____H_PERFORMANCEIMPL
#include "VirtualBoxBase.h"
//#ifdef VBOX_WITH_RESOURCE_USAGE_API
//#endif /* VBOX_WITH_RESOURCE_USAGE_API */
#include <list>
{
}
/* Each second we obtain new CPU load stats. */
#define VBOX_USAGE_SAMPLER_MIN_INTERVAL 1000
{
void FinalRelease();
// public initializer/uninitializer for internal purposes only
void uninit();
// IPerformanceMetric properties
// IPerformanceMetric methods
// public methods only for internal purposes
// public methods for internal purposes only
// (ensure there is a caller and a read lock before calling them!)
struct Data
{
/* Constructor. */
Data()
{
}
};
Data m;
};
{
void FinalRelease();
// public initializers/uninitializers only for internal purposes
void uninit();
// IPerformanceCollector properties
// IPerformanceCollector methods
outMetrics));
outMetrics));
outMetrics));
// public methods only for internal purposes
void suspendSampling();
void resumeSampling();
// public methods for internal purposes only
// (ensure there is a caller and a read lock before calling them!)
enum
{
MAGIC = 0xABBA1972u
};
unsigned int mMagic;
struct Data
{
};
Data m;
};
#endif //!____H_PERFORMANCEIMPL
/* vi: set tabstop=4 shiftwidth=4 expandtab: */