Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 54148)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 54149)
@@ -414,10 +414,10 @@
 }
 
-void UIMessageCenter::cannotCreateVirtualBox(const CVirtualBox &vbox) const
+void UIMessageCenter::cannotCreateVirtualBoxClient(const CVirtualBoxClient &client) const
 {
     error(0, MessageType_Critical,
-          tr("<p>Failed to create the VirtualBox COM object.</p>"
+          tr("<p>Failed to create the VirtualBoxClient COM object.</p>"
              "<p>The application will now terminate.</p>"),
-          formatErrorInfo(vbox));
+          formatErrorInfo(client));
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 54148)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 54149)
@@ -157,5 +157,5 @@
     void cannotInitUserHome(const QString &strUserHome) const;
     void cannotInitCOM(HRESULT rc) const;
-    void cannotCreateVirtualBox(const CVirtualBox &vbox) const;
+    void cannotCreateVirtualBoxClient(const CVirtualBoxClient &client) const;
 
     /* API: Global warnings: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 54148)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 54149)
@@ -283,15 +283,15 @@
 QString VBoxGlobal::vboxVersionString() const
 {
-    return mVBox.GetVersion();
+    return m_vbox.GetVersion();
 }
 
 QString VBoxGlobal::vboxVersionStringNormalized() const
 {
-    return mVBox.GetVersionNormalized();
+    return m_vbox.GetVersionNormalized();
 }
 
 bool VBoxGlobal::isBeta() const
 {
-    return mVBox.GetVersion().contains("BETA", Qt::CaseInsensitive);
+    return m_vbox.GetVersion().contains("BETA", Qt::CaseInsensitive);
 }
 
@@ -330,9 +330,9 @@
 bool VBoxGlobal::setSettings (VBoxGlobalSettings &gs)
 {
-    gs.save (mVBox);
-
-    if (!mVBox.isOk())
-    {
-        msgCenter().cannotSaveGlobalConfig (mVBox);
+    gs.save(m_vbox);
+
+    if (!m_vbox.isOk())
+    {
+        msgCenter().cannotSaveGlobalConfig(m_vbox);
         return false;
     }
@@ -995,5 +995,5 @@
         /* Boot order */
         QString bootOrder;
-        for (ulong i = 1; i <= mVBox.GetSystemProperties().GetMaxBootPosition(); ++ i)
+        for (ulong i = 1; i <= m_vbox.GetSystemProperties().GetMaxBootPosition(); ++ i)
         {
             KDeviceType device = aMachine.GetBootOrder (i);
@@ -1243,5 +1243,5 @@
         QString item;
 
-        ulong count = mVBox.GetSystemProperties().GetMaxNetworkAdapters(KChipsetType_PIIX3);
+        ulong count = m_vbox.GetSystemProperties().GetMaxNetworkAdapters(KChipsetType_PIIX3);
         int rows = 2; /* including section header and footer */
         for (ulong slot = 0; slot < count; slot ++)
@@ -1300,5 +1300,5 @@
         QString item;
 
-        ulong count = mVBox.GetSystemProperties().GetSerialPortCount();
+        ulong count = m_vbox.GetSystemProperties().GetSerialPortCount();
         int rows = 2; /* including section header and footer */
         for (ulong slot = 0; slot < count; slot ++)
@@ -1345,5 +1345,5 @@
         QString item;
 
-        ulong count = mVBox.GetSystemProperties().GetParallelPortCount();
+        ulong count = m_vbox.GetSystemProperties().GetParallelPortCount();
         int rows = 2; /* including section header and footer */
         for (ulong slot = 0; slot < count; slot ++)
@@ -1458,8 +1458,8 @@
 
         /* Search for the corresponding machine: */
-        CMachine machine = mVBox.FindMachine(strId);
+        CMachine machine = m_vbox.FindMachine(strId);
         if (machine.isNull())
         {
-            msgCenter().cannotFindMachineById(mVBox, strId);
+            msgCenter().cannotFindMachineById(m_vbox, strId);
             break;
         }
@@ -1635,5 +1635,5 @@
 
     /* Initialize variables: */
-    CVirtualBox vbox = vboxGlobal().virtualBox();
+    CVirtualBox vbox = virtualBox();
 
     /* Remember the path of the last chosen medium: */
@@ -3814,5 +3814,5 @@
             if (VBoxGlobal::hasAllowedExtension(strFile, VBoxFileExts))
             {
-                CVirtualBox vbox = vboxGlobal().virtualBox();
+                CVirtualBox vbox = virtualBox();
                 CMachine machine = vbox.FindMachine(strFile);
                 if (!machine.isNull())
@@ -3870,12 +3870,16 @@
     }
 
-    mVBox.createInstance (CLSID_VirtualBox);
-    if (!mVBox.isOk())
-    {
-        msgCenter().cannotCreateVirtualBox (mVBox);
+    /* Create VirtualBox client instance: */
+    m_client.createInstance(CLSID_VirtualBoxClient);
+    /* And make sure it was created: */
+    if (!m_client.isOk())
+    {
+        msgCenter().cannotCreateVirtualBoxClient(m_client);
         return;
     }
-    mHost = virtualBox().GetHost();
-    mHomeFolder = virtualBox().GetHomeFolder();
+    /* Fetch corresponding objects/values: */
+    m_vbox = virtualBoxClient().GetVirtualBox();
+    m_host = virtualBox().GetHost();
+    m_strHomeFolder = virtualBox().GetHomeFolder();
 
     /* create default non-null global settings */
@@ -3883,8 +3887,8 @@
 
     /* try to load global settings */
-    gset.load (mVBox);
-    if (!mVBox.isOk() || !gset)
-    {
-        msgCenter().cannotLoadGlobalConfig (mVBox, gset.lastError());
+    gset.load(m_vbox);
+    if (!m_vbox.isOk() || !gset)
+    {
+        msgCenter().cannotLoadGlobalConfig(m_vbox, gset.lastError());
         return;
     }
@@ -3901,5 +3905,5 @@
 
     /* Initialize guest OS Type list. */
-    CGuestOSTypeVector coll = mVBox.GetGuestOSTypes();
+    CGuestOSTypeVector coll = m_vbox.GetGuestOSTypes();
     int osTypeCount = coll.size();
     AssertMsg(osTypeCount > 0, ("Number of OS types must not be zero"));
@@ -4117,14 +4121,14 @@
         /* Search for corresponding VM: */
         QUuid uuid = QUuid(vmNameOrUuid);
-        const CMachine machine = mVBox.FindMachine(vmNameOrUuid);
+        const CMachine machine = m_vbox.FindMachine(vmNameOrUuid);
         if (!uuid.isNull())
         {
             if (machine.isNull() && showStartVMErrors())
-                return msgCenter().cannotFindMachineById(mVBox, vmNameOrUuid);
+                return msgCenter().cannotFindMachineById(m_vbox, vmNameOrUuid);
         }
         else
         {
             if (machine.isNull() && showStartVMErrors())
-                return msgCenter().cannotFindMachineByName(mVBox, vmNameOrUuid);
+                return msgCenter().cannotFindMachineByName(m_vbox, vmNameOrUuid);
         }
         vmUuid = machine.GetId();
@@ -4157,5 +4161,5 @@
 
     if (mSettingsPwSet)
-        mVBox.SetSettingsSecret(mSettingsPw);
+        m_vbox.SetSettingsSecret(mSettingsPw);
 
     if (visualStateType != UIVisualStateType_Invalid && !vmUuid.isEmpty())
@@ -4275,6 +4279,6 @@
 
     /* the last steps to ensure we don't use COM any more */
-    mHost.detach();
-    mVBox.detach();
+    m_host.detach();
+    m_vbox.detach();
 
     /* There may be UIMedium(s)EnumeratedEvent instances still in the message
@@ -4324,5 +4328,5 @@
         strEnvValue = "veto";
 
-    QString     strExtraValue = mVBox.GetExtraData(pszExtraDataName).toLower().trimmed();
+    QString strExtraValue = m_vbox.GetExtraData(pszExtraDataName).toLower().trimmed();
     if (strExtraValue.isEmpty())
         strExtraValue = QString();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 54148)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 54149)
@@ -38,4 +38,5 @@
 #include "VBox/com/Guid.h"
 #include "CHost.h"
+#include "CVirtualBoxClient.h"
 #include "CVirtualBox.h"
 #include "CSession.h"
@@ -102,7 +103,12 @@
 #endif /* Q_WS_MAC */
 
-    CVirtualBox virtualBox() const { return mVBox; }
-    CHost host() const { return mHost; }
-    QString homeFolder() const { return mHomeFolder; }
+    /** Returns the copy of VirtualBox client wrapper. */
+    CVirtualBoxClient virtualBoxClient() const { return m_client; }
+    /** Returns the copy of VirtualBox object wrapper. */
+    CVirtualBox virtualBox() const { return m_vbox; }
+    /** Returns the copy of VirtualBox host-object wrapper. */
+    CHost host() const { return m_host; }
+    /** Returns the symbolic VirtualBox home-folder representation. */
+    QString homeFolder() const { return m_strHomeFolder; }
 
     VBoxGlobalSettings &settings() { return gset; }
@@ -430,7 +436,12 @@
     bool mValid;
 
-    CVirtualBox mVBox;
-    CHost mHost;
-    QString mHomeFolder;
+    /** Holds the instance of VirtualBox client wrapper. */
+    CVirtualBoxClient m_client;
+    /** Holds the copy of VirtualBox object wrapper. */
+    CVirtualBox m_vbox;
+    /** Holds the copy of VirtualBox host-object wrapper. */
+    CHost m_host;
+    /** Holds the symbolic VirtualBox home-folder representation. */
+    QString m_strHomeFolder;
 
     VBoxGlobalSettings gset;
