diff options
Diffstat (limited to 'src/VBox/Main/include')
-rw-r--r-- | src/VBox/Main/include/ConsoleImpl.h | 26 | ||||
-rw-r--r-- | src/VBox/Main/include/DisplayImpl.h | 4 | ||||
-rw-r--r-- | src/VBox/Main/include/GuestImpl.h | 6 | ||||
-rw-r--r-- | src/VBox/Main/include/HostImpl.h | 3 | ||||
-rw-r--r-- | src/VBox/Main/include/MachineImpl.h | 3 | ||||
-rw-r--r-- | src/VBox/Main/include/Performance.h | 32 | ||||
-rw-r--r-- | src/VBox/Main/include/StorageControllerImpl.h | 6 | ||||
-rw-r--r-- | src/VBox/Main/include/VirtualBoxCallbackImpl.h | 2 |
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); |