60
60
const uint32_t recommendedVRAM;
61
61
const uint32_t recommendedHDD;
62
62
const NetworkAdapterType_T networkAdapterType;
63
const uint32_t numSerialEnabled;
65
static const OSType sOSTypes [SchemaDefs::OSTypeId_COUNT];
66
static const OSType sOSTypes[SchemaDefs::OSTypeId_COUNT];
67
static const char *OSTypeId (VBOXOSTYPE aOSType);
68
static const char *OSTypeId(VBOXOSTYPE aOSType);
70
71
* Returns @c true if the given machine state is an online state. This is a
71
72
* recommended way to detect if the VM is online (being executed in a
72
73
* dedicated process) or not. Note that some online states are also
73
74
* transitional states (see #IsTransitional()).
76
* @remarks Saving may actually be an offline state according to the
77
* documentation (offline snapshot).
75
static bool IsOnline (MachineState_T aState)
79
static bool IsOnline(MachineState_T aState)
77
82
return aState >= MachineState_FirstOnline &&
78
83
aState <= MachineState_LastOnline;
87
case MachineState_Running:
88
case MachineState_Paused:
89
case MachineState_Teleporting:
90
case MachineState_LiveSnapshotting:
91
case MachineState_Stuck:
92
case MachineState_Starting:
93
case MachineState_Stopping:
94
case MachineState_Saving:
95
case MachineState_Restoring:
96
case MachineState_TeleportingPausedVM:
97
case MachineState_TeleportingIn:
85
109
* snapshot, etc.). Note some (but not all) transitional states are also
86
110
* online states (see #IsOnline()).
88
static bool IsTransient (MachineState_T aState)
112
static bool IsTransient(MachineState_T aState)
90
115
return aState >= MachineState_FirstTransient &&
91
116
aState <= MachineState_LastTransient;
120
case MachineState_Teleporting:
121
case MachineState_LiveSnapshotting:
122
case MachineState_Starting:
123
case MachineState_Stopping:
124
case MachineState_Saving:
125
case MachineState_Restoring:
126
case MachineState_TeleportingPausedVM:
127
case MachineState_TeleportingIn:
128
case MachineState_RestoringSnapshot:
129
case MachineState_DeletingSnapshot:
130
case MachineState_SettingUp:
95
* Shortcut to <tt>IsOnline (aState) || IsTransient (aState)</tt>. When it
96
* returns @false, the VM is turned off (no VM process) and not busy with
139
* Shortcut to <tt>IsOnline(aState) || IsTransient(aState)</tt>. When it returns
140
* @false, the VM is turned off (no VM process) and not busy with
97
141
* another exclusive operation.
99
static bool IsOnlineOrTransient (MachineState_T aState)
101
return IsOnline (aState) || IsTransient (aState);
105
* Shortcut to <tt>IsOnline (aState) && !IsTransient (aState)</tt>. This is
106
* a recommended way to detect if the VM emulation thread is in action
107
* (either running, suspended, or stuck). When this method returns @false,
108
* then either the VM is not online or the emulation thread is being started
111
static bool IsActive (MachineState_T aState)
113
return IsOnline (aState) && !IsTransient (aState);
143
static bool IsOnlineOrTransient(MachineState_T aState)
145
return IsOnline(aState) || IsTransient(aState);
149
* Stringify a machine state.
151
* @returns Pointer to a read only string.
152
* @param aState Valid machine state.
154
static const char *stringifyMachineState(MachineState_T aState);
157
* Stringify a session state.
159
* @returns Pointer to a read only string.
160
* @param aState Valid session state.
162
static const char *stringifySessionState(SessionState_T aState);
165
* Stringify a device type.
167
* @returns Pointer to a read only string.
168
* @param aType The device type.
170
static const char *stringifyDeviceType(DeviceType_T aType);
173
* Try convert a COM status code to a VirtualBox status code (VBox/err.h).
175
* @returns VBox status code.
176
* @param aComStatus COM status code.
178
static int vboxStatusCodeFromCOM(HRESULT aComStatus);
181
* Try convert a VirtualBox status code (VBox/err.h) to a COM status code.
183
* This is mainly inteded for dealing with vboxStatusCodeFromCOM() return
184
* values. If used on anything else, it won't be able to cope with most of the
187
* @returns COM status code.
188
* @param aVBoxStatus VBox status code.
190
static HRESULT vboxStatusCodeToCOM(int aVBoxStatus);
117
#endif /* ____H_GLOBAL */
193
#endif /* !____H_GLOBAL */
118
194
/* vi: set tabstop=4 shiftwidth=4 expandtab: */