summaryrefslogtreecommitdiff
path: root/src/VBox/Main/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Main/include')
-rw-r--r--src/VBox/Main/include/ConsoleImpl.h26
-rw-r--r--src/VBox/Main/include/DisplayImpl.h4
-rw-r--r--src/VBox/Main/include/GuestImpl.h6
-rw-r--r--src/VBox/Main/include/HostImpl.h3
-rw-r--r--src/VBox/Main/include/MachineImpl.h3
-rw-r--r--src/VBox/Main/include/Performance.h32
-rw-r--r--src/VBox/Main/include/StorageControllerImpl.h6
-rw-r--r--src/VBox/Main/include/VirtualBoxCallbackImpl.h2
8 files changed, 50 insertions, 32 deletions
diff --git a/src/VBox/Main/include/ConsoleImpl.h b/src/VBox/Main/include/ConsoleImpl.h
index f762a6c18..aad6de296 100644
--- a/src/VBox/Main/include/ConsoleImpl.h
+++ b/src/VBox/Main/include/ConsoleImpl.h
@@ -1,4 +1,4 @@
-/* $Id: ConsoleImpl.h 29385 2010-05-11 18:05:44Z vboxsync $ */
+/* $Id: ConsoleImpl.h 29580 2010-05-17 18:23:00Z vboxsync $ */
/** @file
* VBox Console COM Class definition
*/
@@ -20,6 +20,7 @@
#include "VirtualBoxBase.h"
#include "SchemaDefs.h"
+#include "VBox/com/array.h"
class Guest;
class Keyboard;
@@ -205,7 +206,7 @@ public:
void onMousePointerShapeChange(bool fVisible, bool fAlpha,
uint32_t xHot, uint32_t yHot,
uint32_t width, uint32_t height,
- void *pShape);
+ ComSafeArrayIn(uint8_t, aShape));
void onMouseCapabilityChange(BOOL supportsAbsolute, BOOL supportsRelative, BOOL needsHostCursor);
void onStateChange(MachineState_T aMachineState);
void onAdditionsStateChange();
@@ -441,7 +442,7 @@ private:
const char *pcszDevice,
unsigned uInstance,
StorageBus_T enmBus,
- IoBackendType_T enmIoBackend,
+ bool fUseHostIOCache,
bool fSetupMerge,
unsigned uMergeSource,
unsigned uMergeTarget,
@@ -455,7 +456,7 @@ private:
int configMedium(PCFGMNODE pLunL0,
bool fPassthrough,
DeviceType_T enmType,
- IoBackendType_T enmIoBackend,
+ bool fUseHostIOCache,
bool fSetupMerge,
unsigned uMergeSource,
unsigned uMergeTarget,
@@ -467,7 +468,7 @@ private:
const char *pcszDevice,
unsigned uInstance,
StorageBus_T enmBus,
- IoBackendType_T enmIoBackend,
+ bool fUseHostIOCache,
bool fSetupMerge,
unsigned uMergeSource,
unsigned uMergeTarget,
@@ -478,7 +479,7 @@ private:
const char *pcszDevice,
unsigned uInstance,
StorageBus_T enmBus,
- IoBackendType_T enmIoBackend,
+ bool fUseHostIOCache,
IMediumAttachment *aMediumAtt,
bool fForce);
@@ -674,8 +675,7 @@ private:
uint32_t yHot;
uint32_t width;
uint32_t height;
- BYTE *shape;
- size_t shapeSize;
+ com::SafeArray<BYTE> shape;
}
mpsc;
@@ -698,6 +698,16 @@ private:
bool scrollLock;
}
klc;
+
+ void clear()
+ {
+ /* We cannot do memset() on mpsc to avoid cleaning shape's vtable */
+ mpsc.shape.setNull();
+ mpsc.valid = mpsc.visible = mpsc.alpha = false;
+ mpsc.xHot = mpsc.yHot = mpsc.width = mpsc.height = 0;
+ ::memset(&mcc, 0, sizeof mcc);
+ ::memset(&klc, 0, sizeof klc);
+ }
}
mCallbackData;
diff --git a/src/VBox/Main/include/DisplayImpl.h b/src/VBox/Main/include/DisplayImpl.h
index 0c72568de..ec2427546 100644
--- a/src/VBox/Main/include/DisplayImpl.h
+++ b/src/VBox/Main/include/DisplayImpl.h
@@ -1,4 +1,4 @@
-/* $Id: DisplayImpl.h 28973 2010-05-03 12:30:09Z vboxsync $ */
+/* $Id: DisplayImpl.h 29518 2010-05-17 10:06:22Z vboxsync $ */
/** @file
* VirtualBox COM class implementation
*/
@@ -149,7 +149,7 @@ public:
// IConsoleCallback methods
STDMETHOD(OnMousePointerShapeChange)(BOOL visible, BOOL alpha, ULONG xHot, ULONG yHot,
- ULONG width, ULONG height, BYTE *shape)
+ ULONG width, ULONG height, ComSafeArrayIn(BYTE,shape))
{
return S_OK;
}
diff --git a/src/VBox/Main/include/GuestImpl.h b/src/VBox/Main/include/GuestImpl.h
index 96de18bbe..cb9039f22 100644
--- a/src/VBox/Main/include/GuestImpl.h
+++ b/src/VBox/Main/include/GuestImpl.h
@@ -79,10 +79,10 @@ public:
STDMETHOD(COMGETTER(AdditionsVersion)) (BSTR *aAdditionsVersion);
STDMETHOD(COMGETTER(SupportsSeamless)) (BOOL *aSupportsSeamless);
STDMETHOD(COMGETTER(SupportsGraphics)) (BOOL *aSupportsGraphics);
- STDMETHOD(COMGETTER(PageFusionEnabled)) (BOOL *enabled);
- STDMETHOD(COMSETTER(PageFusionEnabled)) (BOOL enabled);
STDMETHOD(COMGETTER(MemoryBalloonSize)) (ULONG *aMemoryBalloonSize);
STDMETHOD(COMSETTER(MemoryBalloonSize)) (ULONG aMemoryBalloonSize);
+ STDMETHOD(COMGETTER(PageFusionEnabled)) (BOOL *aPageFusionEnabled);
+ STDMETHOD(COMSETTER(PageFusionEnabled)) (BOOL aPageFusionEnabled);
STDMETHOD(COMGETTER(StatisticsUpdateInterval)) (ULONG *aUpdateInterval);
STDMETHOD(COMSETTER(StatisticsUpdateInterval)) (ULONG aUpdateInterval);
@@ -91,7 +91,6 @@ public:
IN_BSTR aDomain, BOOL aAllowInteractiveLogon);
STDMETHOD(ExecuteProcess)(IN_BSTR aCommand, ULONG aFlags,
ComSafeArrayIn(IN_BSTR, aArguments), ComSafeArrayIn(IN_BSTR, aEnvironment),
- IN_BSTR aStdIn, IN_BSTR aStdOut, IN_BSTR aStdErr,
IN_BSTR aUserName, IN_BSTR aPassword,
ULONG aTimeoutMS, ULONG *aPID, IProgress **aProgress);
STDMETHOD(GetProcessOutput)(ULONG aPID, ULONG aFlags, ULONG aTimeoutMS, ULONG64 aSize, ComSafeArrayOut(BYTE, aData));
@@ -171,6 +170,7 @@ private:
ULONG mMemoryBalloonSize;
ULONG mStatUpdateInterval;
ULONG mCurrentGuestStat[GUESTSTATTYPE_MAX];
+ BOOL mfPageFusionEnabled;
Console *mParent;
Data mData;
diff --git a/src/VBox/Main/include/HostImpl.h b/src/VBox/Main/include/HostImpl.h
index 615ccead4..7d0dc7977 100644
--- a/src/VBox/Main/include/HostImpl.h
+++ b/src/VBox/Main/include/HostImpl.h
@@ -1,4 +1,4 @@
-/* $Id: HostImpl.h 28800 2010-04-27 08:22:32Z vboxsync $ */
+/* $Id: HostImpl.h 29615 2010-05-18 11:54:24Z vboxsync $ */
/** @file
* Implemenation of IHost.
*/
@@ -66,6 +66,7 @@ public:
STDMETHOD(COMGETTER(NetworkInterfaces))(ComSafeArrayOut (IHostNetworkInterface *, aNetworkInterfaces));
STDMETHOD(COMGETTER(ProcessorCount))(ULONG *count);
STDMETHOD(COMGETTER(ProcessorOnlineCount))(ULONG *count);
+ STDMETHOD(COMGETTER(ProcessorCoreCount))(ULONG *count);
STDMETHOD(GetProcessorSpeed)(ULONG cpuId, ULONG *speed);
STDMETHOD(GetProcessorDescription)(ULONG cpuId, BSTR *description);
STDMETHOD(GetProcessorFeature) (ProcessorFeature_T feature, BOOL *supported);
diff --git a/src/VBox/Main/include/MachineImpl.h b/src/VBox/Main/include/MachineImpl.h
index ab7d673e0..e66b135f6 100644
--- a/src/VBox/Main/include/MachineImpl.h
+++ b/src/VBox/Main/include/MachineImpl.h
@@ -1,4 +1,4 @@
-/* $Id: MachineImpl.h 29385 2010-05-11 18:05:44Z vboxsync $ */
+/* $Id: MachineImpl.h 29462 2010-05-14 11:27:59Z vboxsync $ */
/** @file
* VirtualBox COM class implementation
*/
@@ -258,6 +258,7 @@ public:
Guid mHardwareUUID; /**< If Null, use mData.mUuid. */
ULONG mMemorySize;
ULONG mMemoryBalloonSize;
+ BOOL mPageFusionEnabled;
ULONG mVRAMSize;
ULONG mMonitorCount;
BOOL mHWVirtExEnabled;
diff --git a/src/VBox/Main/include/Performance.h b/src/VBox/Main/include/Performance.h
index 5bde7d929..06f174993 100644
--- a/src/VBox/Main/include/Performance.h
+++ b/src/VBox/Main/include/Performance.h
@@ -1,4 +1,4 @@
-/* $Id: Performance.h 28800 2010-04-27 08:22:32Z vboxsync $ */
+/* $Id: Performance.h 29632 2010-05-18 13:22:37Z vboxsync $ */
/** @file
*
@@ -134,7 +134,7 @@ namespace pm
class CollectorHAL
{
public:
- CollectorHAL() : mMemAllocVMM(0), mMemFreeVMM(0), mMemBalloonedVMM(0) {};
+ CollectorHAL() : mMemAllocVMM(0), mMemFreeVMM(0), mMemBalloonedVMM(0), mMemSharedVMM(0) {};
virtual ~CollectorHAL() { };
virtual int preCollect(const CollectorHints& /* hints */, uint64_t /* iTick */) { return VINF_SUCCESS; }
/** Returns averaged CPU usage in 1/1000th per cent across all host's CPUs. */
@@ -158,25 +158,28 @@ namespace pm
/** Disable metrics collecting (if applicable) */
virtual int disable();
- virtual int setMemHypervisorStats(ULONG memAlloc, ULONG memFree, ULONG memBallooned)
+ virtual int setMemHypervisorStats(ULONG memAlloc, ULONG memFree, ULONG memBallooned, ULONG memShared)
{
mMemAllocVMM = memAlloc;
mMemFreeVMM = memFree;
mMemBalloonedVMM = memBallooned;
+ mMemSharedVMM = memShared;
return S_OK;
}
- virtual void getMemHypervisorStats(ULONG *pMemAlloc, ULONG *pMemFree, ULONG *pMemBallooned)
+ virtual void getMemHypervisorStats(ULONG *pMemAlloc, ULONG *pMemFree, ULONG *pMemBallooned, ULONG *pMemShared)
{
*pMemAlloc = mMemAllocVMM;
*pMemFree = mMemFreeVMM;
*pMemBallooned = mMemBalloonedVMM;
+ *pMemShared = mMemSharedVMM;
}
private:
ULONG mMemAllocVMM;
ULONG mMemFreeVMM;
ULONG mMemBalloonedVMM;
+ ULONG mMemSharedVMM;
};
class CollectorGuestHAL : public CollectorHAL
@@ -184,7 +187,7 @@ namespace pm
public:
CollectorGuestHAL(Machine *machine, CollectorHAL *hostHAL) : CollectorHAL(), cEnabled(0), mMachine(machine), mConsole(NULL), mGuest(NULL),
mLastTick(0), mHostHAL(hostHAL), mCpuUser(0), mCpuKernel(0), mCpuIdle(0), mMemTotal(0), mMemFree(0),
- mMemBalloon(0), mMemCache(0), mPageTotal(0) {};
+ mMemBalloon(0), mMemShared(0), mMemCache(0), mPageTotal(0) {};
~CollectorGuestHAL();
virtual int preCollect(const CollectorHints& hints, uint64_t iTick);
@@ -203,11 +206,12 @@ namespace pm
}
/** Return guest memory information in KB. */
- void getGuestMemLoad(ULONG *pulMemTotal, ULONG *pulMemFree, ULONG *pulMemBalloon, ULONG *pulMemCache, ULONG *pulPageTotal)
+ void getGuestMemLoad(ULONG *pulMemTotal, ULONG *pulMemFree, ULONG *pulMemBalloon, ULONG *pulMemShared, ULONG *pulMemCache, ULONG *pulPageTotal)
{
*pulMemTotal = mMemTotal;
*pulMemFree = mMemFree;
*pulMemBalloon = mMemBalloon;
+ *pulMemShared = mMemShared;
*pulMemCache = mMemCache;
*pulPageTotal = mPageTotal;
}
@@ -228,6 +232,7 @@ namespace pm
ULONG mMemTotal;
ULONG mMemFree;
ULONG mMemBalloon;
+ ULONG mMemShared;
ULONG mMemCache;
ULONG mPageTotal;
};
@@ -336,9 +341,9 @@ namespace pm
class HostRamUsage : public BaseMetric
{
public:
- HostRamUsage(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *total, SubMetric *used, SubMetric *available, SubMetric *allocVMM, SubMetric *freeVMM, SubMetric *balloonVMM)
- : BaseMetric(hal, "RAM/Usage", object), mTotal(total), mUsed(used), mAvailable(available), mAllocVMM(allocVMM), mFreeVMM(freeVMM), mBalloonVMM(balloonVMM) {};
- ~HostRamUsage() { delete mTotal; delete mUsed; delete mAvailable; delete mAllocVMM; delete mFreeVMM; delete mBalloonVMM; };
+ HostRamUsage(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *total, SubMetric *used, SubMetric *available, SubMetric *allocVMM, SubMetric *freeVMM, SubMetric *balloonVMM, SubMetric *sharedVMM)
+ : BaseMetric(hal, "RAM/Usage", object), mTotal(total), mUsed(used), mAvailable(available), mAllocVMM(allocVMM), mFreeVMM(freeVMM), mBalloonVMM(balloonVMM), mSharedVMM(sharedVMM) {};
+ ~HostRamUsage() { delete mTotal; delete mUsed; delete mAvailable; delete mAllocVMM; delete mFreeVMM; delete mBalloonVMM; delete mSharedVMM; };
void init(ULONG period, ULONG length);
void preCollect(CollectorHints& hints, uint64_t iTick);
@@ -354,6 +359,7 @@ namespace pm
SubMetric *mAllocVMM;
SubMetric *mFreeVMM;
SubMetric *mBalloonVMM;
+ SubMetric *mSharedVMM;
};
class MachineCpuLoad : public BaseMetric
@@ -433,9 +439,9 @@ namespace pm
class GuestRamUsage : public BaseMetric
{
public:
- GuestRamUsage(CollectorGuestHAL *hal, ComPtr<IUnknown> object, SubMetric *total, SubMetric *free, SubMetric *balloon, SubMetric *cache, SubMetric *pagedtotal)
- : BaseMetric(hal, "RAM/Usage", object), mTotal(total), mFree(free), mBallooned(balloon), mCache(cache), mPagedTotal(pagedtotal), mGuestHAL(hal) {};
- ~GuestRamUsage() { delete mTotal; delete mFree; delete mBallooned; delete mCache; delete mPagedTotal; };
+ GuestRamUsage(CollectorGuestHAL *hal, ComPtr<IUnknown> object, SubMetric *total, SubMetric *free, SubMetric *balloon, SubMetric *shared, SubMetric *cache, SubMetric *pagedtotal)
+ : BaseMetric(hal, "RAM/Usage", object), mTotal(total), mFree(free), mBallooned(balloon), mCache(cache), mPagedTotal(pagedtotal), mShared(shared), mGuestHAL(hal) {};
+ ~GuestRamUsage() { delete mTotal; delete mFree; delete mBallooned; delete mShared; delete mCache; delete mPagedTotal; };
void init(ULONG period, ULONG length);
void preCollect(CollectorHints& hints, uint64_t iTick);
@@ -445,7 +451,7 @@ namespace pm
ULONG getMaxValue() { return INT32_MAX; };
ULONG getScale() { return 1; }
private:
- SubMetric *mTotal, *mFree, *mBallooned, *mCache, *mPagedTotal;
+ SubMetric *mTotal, *mFree, *mBallooned, *mCache, *mPagedTotal, *mShared;
CollectorGuestHAL *mGuestHAL;
};
diff --git a/src/VBox/Main/include/StorageControllerImpl.h b/src/VBox/Main/include/StorageControllerImpl.h
index 393552bd9..81dfc665a 100644
--- a/src/VBox/Main/include/StorageControllerImpl.h
+++ b/src/VBox/Main/include/StorageControllerImpl.h
@@ -1,4 +1,4 @@
-/* $Id: StorageControllerImpl.h 28800 2010-04-27 08:22:32Z vboxsync $ */
+/* $Id: StorageControllerImpl.h 29480 2010-05-14 15:24:19Z vboxsync $ */
/** @file
*
@@ -72,8 +72,8 @@ public:
STDMETHOD(COMSETTER(PortCount)) (ULONG aPortCount);
STDMETHOD(COMGETTER(Instance)) (ULONG *aInstance);
STDMETHOD(COMSETTER(Instance)) (ULONG aInstance);
- STDMETHOD(COMGETTER(IoBackend)) (IoBackendType_T *aIoBackend);
- STDMETHOD(COMSETTER(IoBackend)) (IoBackendType_T aIoBackend);
+ STDMETHOD(COMGETTER(UseHostIOCache)) (BOOL *fUseHostIOCache);
+ STDMETHOD(COMSETTER(UseHostIOCache)) (BOOL fUseHostIOCache);
// StorageController methods
STDMETHOD(GetIDEEmulationPort) (LONG DevicePosition, LONG *aPortNumber);
diff --git a/src/VBox/Main/include/VirtualBoxCallbackImpl.h b/src/VBox/Main/include/VirtualBoxCallbackImpl.h
index b96faf8c1..9955c5b3c 100644
--- a/src/VBox/Main/include/VirtualBoxCallbackImpl.h
+++ b/src/VBox/Main/include/VirtualBoxCallbackImpl.h
@@ -73,7 +73,7 @@ public:
// IConsoleCallback
STDMETHOD(OnMousePointerShapeChange)(BOOL visible, BOOL alpha, ULONG xHot, ULONG yHot,
- ULONG width, ULONG height, BYTE *shape);
+ ULONG width, ULONG height, ComSafeArrayIn(BYTE, shape));
STDMETHOD(OnMouseCapabilityChange)(BOOL supportsAbsolute, BOOL supportsRelative, BOOL needsHostCursor);
STDMETHOD(OnKeyboardLedsChange)(BOOL fNumLock, BOOL fCapsLock, BOOL fScrollLock);
STDMETHOD(OnStateChange)(MachineState_T machineState);