Index: /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 103130)
+++ /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 103131)
@@ -856,4 +856,5 @@
 	src/logviewer/UIVMLogViewerWidget.h \
 	src/activity/vmactivity/UIVMActivityMonitor.h \
+	src/activity/UIMonitorCommon.h \
 	src/medium/UIFDCreationDialog.h \
 	src/medium/UIMediumEnumerator.h \
Index: /trunk/src/VBox/Frontends/VirtualBox/src/activity/UIMonitorCommon.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/activity/UIMonitorCommon.cpp	(revision 103130)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/activity/UIMonitorCommon.cpp	(revision 103131)
@@ -40,4 +40,64 @@
 #include "CMachineDebugger.h"
 #include "CPerformanceCollector.h"
+
+
+
+/*********************************************************************************************************************************
+*   UIProgressTaskReadCloudMachineMetricList implementation.                                                                     *
+*********************************************************************************************************************************/
+
+UIProgressTaskReadCloudMachineMetricList::UIProgressTaskReadCloudMachineMetricList(QObject *pParent, CCloudMachine comCloudMachine)
+    :UIProgressTask(pParent)
+    , m_comCloudMachine(comCloudMachine)
+{
+}
+
+CProgress UIProgressTaskReadCloudMachineMetricList::createProgress()
+{
+    if (!m_comCloudMachine.isOk())
+        return CProgress();
+    return m_comCloudMachine.ListMetricNames(m_metricNamesArray);
+}
+
+void UIProgressTaskReadCloudMachineMetricList::handleProgressFinished(CProgress &comProgress)
+{
+    if (!comProgress.isOk())
+        return;
+    emit sigMetricListReceived(m_metricNamesArray.GetValues());
+}
+
+
+/*********************************************************************************************************************************
+*   UIProgressTaskReadCloudMachineMetricData implementation.                                                                     *
+*********************************************************************************************************************************/
+
+UIProgressTaskReadCloudMachineMetricData::UIProgressTaskReadCloudMachineMetricData(QObject *pParent,
+                                                                                   CCloudMachine comCloudMachine,
+                                                                                   KMetricType enmMetricType,
+                                                                                   ULONG uDataPointsCount)
+    :UIProgressTask(pParent)
+    , m_comCloudMachine(comCloudMachine)
+    , m_enmMetricType(enmMetricType)
+    , m_uDataPointsCount(uDataPointsCount)
+{
+}
+
+CProgress UIProgressTaskReadCloudMachineMetricData::createProgress()
+{
+    if (!m_comCloudMachine.isOk())
+        return CProgress();
+
+    CStringArray aUnit;
+    return m_comCloudMachine.EnumerateMetricData(m_enmMetricType, m_uDataPointsCount, m_metricData, m_timeStamps, aUnit);
+}
+
+
+void UIProgressTaskReadCloudMachineMetricData::handleProgressFinished(CProgress &comProgress)
+{
+    if (!comProgress.isOk())
+        return;
+    if (m_metricData.isOk() && m_timeStamps.isOk())
+        emit sigMetricDataReceived(m_enmMetricType, m_metricData.GetValues(), m_timeStamps.GetValues());
+}
 
 /* static */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/activity/UIMonitorCommon.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/activity/UIMonitorCommon.h	(revision 103130)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/activity/UIMonitorCommon.h	(revision 103131)
@@ -31,4 +31,62 @@
 # pragma once
 #endif
+
+#include <QPainterPath>
+#include "UIProgressTask.h"
+#include "COMEnums.h"
+#include "CStringArray.h"
+#include "CCloudMachine.h"
+
+class SHARED_LIBRARY_STUFF UIProgressTaskReadCloudMachineMetricList : public UIProgressTask
+{
+    Q_OBJECT;
+
+signals:
+
+    void sigMetricListReceived(QVector<QString> metricNamesList);
+
+public:
+
+    UIProgressTaskReadCloudMachineMetricList(QObject *pParent, CCloudMachine comCloudMachine);
+
+protected:
+
+    virtual CProgress createProgress() RT_OVERRIDE;
+    virtual void handleProgressFinished(CProgress &comProgress) RT_OVERRIDE;
+
+private:
+
+    CCloudMachine m_comCloudMachine;
+    CStringArray m_metricNamesArray;
+};
+
+
+class SHARED_LIBRARY_STUFF UIProgressTaskReadCloudMachineMetricData : public UIProgressTask
+{
+    Q_OBJECT;
+
+signals:
+
+    void sigMetricDataReceived(KMetricType enmMetricType, QVector<QString> data, QVector<QString> timeStamps);
+
+public:
+
+    UIProgressTaskReadCloudMachineMetricData(QObject *pParent, CCloudMachine comCloudMachine,
+                                             KMetricType enmMetricType, ULONG uDataPointsCount);
+
+protected:
+
+    virtual CProgress createProgress() RT_OVERRIDE;
+    virtual void handleProgressFinished(CProgress &comProgress) RT_OVERRIDE;
+
+private:
+
+    CCloudMachine m_comCloudMachine;
+    CStringArray m_metricData;
+    CStringArray m_timeStamps;
+    KMetricType m_enmMetricType;
+    ULONG m_uDataPointsCount;
+};
+
 
 /** UIDebuggerMetricData is used as data storage while parsing the xml stream received from IMachineDebugger. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp	(revision 103130)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp	(revision 103131)
@@ -44,5 +44,4 @@
 #include "UIConverter.h"
 #include "UIIconPool.h"
-#include "UIProgressTask.h"
 #include "UITranslator.h"
 #include "UIVMActivityMonitor.h"
@@ -56,5 +55,4 @@
 #include "CPerformanceCollector.h"
 #include "CPerformanceMetric.h"
-#include "CStringArray.h"
 #include "CRangedIntegerFormValue.h"
 #include <iprt/string.h>
@@ -72,65 +70,4 @@
 const int g_iBackgroundTint = 104;
 const quint64 uInvalidValueSentinel = ~0U;
-
-
-/*********************************************************************************************************************************
-*   UIProgressTaskReadCloudMachineMetricList definition.                                                                         *
-*********************************************************************************************************************************/
-
-class UIProgressTaskReadCloudMachineMetricList : public UIProgressTask
-{
-    Q_OBJECT;
-
-signals:
-
-    void sigMetricListReceived(QVector<QString> metricNamesList);
-
-public:
-
-    UIProgressTaskReadCloudMachineMetricList(QObject *pParent, CCloudMachine comCloudMachine);
-
-protected:
-
-    virtual CProgress createProgress() RT_OVERRIDE;
-    virtual void handleProgressFinished(CProgress &comProgress) RT_OVERRIDE;
-
-private:
-
-    CCloudMachine m_comCloudMachine;
-    CStringArray m_metricNamesArray;
-};
-
-
-/*********************************************************************************************************************************
-*   UIProgressTaskReadCloudMachineMetricList definition.                                                                         *
-*********************************************************************************************************************************/
-
-class UIProgressTaskReadCloudMachineMetricData : public UIProgressTask
-{
-    Q_OBJECT;
-
-signals:
-
-    void sigMetricDataReceived(KMetricType enmMetricType, QVector<QString> data, QVector<QString> timeStamps);
-
-public:
-
-    UIProgressTaskReadCloudMachineMetricData(QObject *pParent, CCloudMachine comCloudMachine,
-                                             KMetricType enmMetricType, ULONG uDataPointsCount);
-
-protected:
-
-    virtual CProgress createProgress() RT_OVERRIDE;
-    virtual void handleProgressFinished(CProgress &comProgress) RT_OVERRIDE;
-
-private:
-
-    CCloudMachine m_comCloudMachine;
-    CStringArray m_metricData;
-    CStringArray m_timeStamps;
-    KMetricType m_enmMetricType;
-    ULONG m_uDataPointsCount;
-};
-
 
 /*********************************************************************************************************************************
@@ -254,63 +191,4 @@
     QLabel *m_pMouseOverLabel;
 };
-
-
-/*********************************************************************************************************************************
-*   UIProgressTaskReadCloudMachineMetricList implementation.                                                                     *
-*********************************************************************************************************************************/
-
-UIProgressTaskReadCloudMachineMetricList::UIProgressTaskReadCloudMachineMetricList(QObject *pParent, CCloudMachine comCloudMachine)
-    :UIProgressTask(pParent)
-    , m_comCloudMachine(comCloudMachine)
-{
-}
-
-CProgress UIProgressTaskReadCloudMachineMetricList::createProgress()
-{
-    if (!m_comCloudMachine.isOk())
-        return CProgress();
-    return m_comCloudMachine.ListMetricNames(m_metricNamesArray);
-}
-
-void UIProgressTaskReadCloudMachineMetricList::handleProgressFinished(CProgress &comProgress)
-{
-    if (!comProgress.isOk())
-        return;
-    emit sigMetricListReceived(m_metricNamesArray.GetValues());
-}
-
-
-/*********************************************************************************************************************************
-*   UIProgressTaskReadCloudMachineMetricData implementation.                                                                     *
-*********************************************************************************************************************************/
-
-UIProgressTaskReadCloudMachineMetricData::UIProgressTaskReadCloudMachineMetricData(QObject *pParent,
-                                                                                   CCloudMachine comCloudMachine,
-                                                                                   KMetricType enmMetricType,
-                                                                                   ULONG uDataPointsCount)
-    :UIProgressTask(pParent)
-    , m_comCloudMachine(comCloudMachine)
-    , m_enmMetricType(enmMetricType)
-    , m_uDataPointsCount(uDataPointsCount)
-{
-}
-
-CProgress UIProgressTaskReadCloudMachineMetricData::createProgress()
-{
-    if (!m_comCloudMachine.isOk())
-        return CProgress();
-
-    CStringArray aUnit;
-    return m_comCloudMachine.EnumerateMetricData(m_enmMetricType, m_uDataPointsCount, m_metricData, m_timeStamps, aUnit);
-}
-
-
-void UIProgressTaskReadCloudMachineMetricData::handleProgressFinished(CProgress &comProgress)
-{
-    if (!comProgress.isOk())
-        return;
-    if (m_metricData.isOk() && m_timeStamps.isOk())
-        emit sigMetricDataReceived(m_enmMetricType, m_metricData.GetValues(), m_timeStamps.GetValues());
-}
 
 /*********************************************************************************************************************************
