Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.cpp	(revision 84195)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.cpp	(revision 84196)
@@ -434,8 +434,8 @@
 
 bool UICloudNetworkingStuff::cloudMachineState(const CCloudMachine &comCloudMachine,
-                                               KMachineState &enmResult,
+                                               KCloudMachineState &enmResult,
                                                QWidget *pParent /* = 0 */)
 {
-    const KMachineState enmState = comCloudMachine.GetState();
+    const KCloudMachineState enmState = comCloudMachine.GetState();
     if (!comCloudMachine.isOk())
         msgCenter().cannotAcquireCloudMachineParameter(comCloudMachine, pParent);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.h	(revision 84195)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.h	(revision 84196)
@@ -135,5 +135,5 @@
     /** Acquires @a comCloudMachine state as a @a enmResult, using @a pParent to show messages according to. */
     SHARED_LIBRARY_STUFF bool cloudMachineState(const CCloudMachine &comCloudMachine,
-                                                KMachineState &enmResult,
+                                                KCloudMachineState &enmResult,
                                                 QWidget *pParent = 0);
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp	(revision 84195)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp	(revision 84196)
@@ -129,5 +129,8 @@
             /* Determine whether VM is accessible: */
             m_fAccessible = m_comCloudMachine.GetAccessible();
-            m_strAccessError = !m_fAccessible ? UIErrorString::formatErrorInfo(m_comCloudMachine.GetAccessError()) : QString();
+            CVirtualBoxErrorInfo comInfo = m_comCloudMachine.GetAccessError();
+            if (!m_fAccessible && comInfo.isNull())
+                LogRel(("UIVirtualMachineItemCloud::recache: Error info is NULL for inaccessible VM.\n"));
+            m_strAccessError = !m_fAccessible && !comInfo.isNull() ? UIErrorString::formatErrorInfo(comInfo) : QString();
 
             /* Determine VM OS type: */
@@ -135,5 +138,5 @@
 
             /* Determine VM states: */
-            m_enmMachineState = m_fAccessible ? toCloudMachineState(m_comCloudMachine.GetState()) : KCloudMachineState_Stopped;
+            m_enmMachineState = m_fAccessible ? m_comCloudMachine.GetState() : KCloudMachineState_Stopped;
             m_strMachineStateName = gpConverter->toString(m_enmMachineState);
             m_machineStateIcon = gpConverter->toIcon(m_enmMachineState);
@@ -303,15 +306,2 @@
     emit sigStateChange();
 }
-
-/* static */
-KCloudMachineState UIVirtualMachineItemCloud::toCloudMachineState(KMachineState enmState)
-{
-    switch (enmState)
-    {
-        case KMachineState_Starting:   return KCloudMachineState_Starting;
-        case KMachineState_Running:    return KCloudMachineState_Running;
-        case KMachineState_Stopping:   return KCloudMachineState_Stopping;
-        case KMachineState_PoweredOff: return KCloudMachineState_Stopped;
-        default:                       return KCloudMachineState_Stopped;
-    }
-}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h	(revision 84195)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h	(revision 84196)
@@ -125,7 +125,4 @@
 private:
 
-    /** Temporary! Converts state from KMachineState to KCloudMachineState. */
-    static KCloudMachineState toCloudMachineState(KMachineState enmState);
-
     /** @name Arguments.
       * @{ */
Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 84195)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 84196)
@@ -26743,5 +26743,5 @@
     </attribute>
 
-    <attribute name="state" type="MachineState" readonly="yes">
+    <attribute name="state" type="CloudMachineState" readonly="yes">
       <desc>
         Machine state.
@@ -26833,4 +26833,15 @@
           Virtual machine must be Running, to be powered down.
         </result>
+      </desc>
+      <param name="progress" type="IProgress" dir="return">
+        <desc>
+          Progress object to track the operation completion.
+        </desc>
+      </param>
+    </method>
+
+    <method name="terminate">
+      <desc>
+        Terminate cloud virtual machine.
       </desc>
       <param name="progress" type="IProgress" dir="return">
