UISession.h revision 586a142e4f1569abf0f6f71fdfa735b39602d93d
* available from http://www.virtualbox.org. This file is free software;
#ifndef ___UIConsole_h___
#define ___UIConsole_h___
#include <QObject>
#include <QCursor>
#include <QEvent>
#include <QMap>
#include "UIDefs.h"
#include "COMEnums.h"
# ifdef Q_WS_MAC
struct __siginfo;
struct siginfo;
enum UIConsoleEventType
/* Machine uisession constructor/destructor: */
void powerUp();
bool saveState();
bool shutdown();
void closeRuntimeUI();
bool isVisualStateAllowedFullscreen() const;
bool isVisualStateAllowedSeamless() const;
bool isVisualStateAllowedScale() const;
bool isGuestAdditionsActive() const { return (m_ulGuestAdditionsRunLevel > AdditionsRunLevelType_None); }
bool isGuestSupportsGraphics() const { return isGuestAdditionsActive() && m_fIsGuestSupportsGraphics; }
bool isGuestSupportsSeamless() const { return isGuestSupportsGraphics() && m_fIsGuestSupportsSeamless; }
void setGuestResizeIgnored(bool fIsGuestResizeIgnored) { m_fIsGuestResizeIgnored = fIsGuestResizeIgnored; }
void setSeamlessModeRequested(bool fIsSeamlessModeRequested) { m_fIsSeamlessModeRequested = fIsSeamlessModeRequested; }
void setAutoCaptureDisabled(bool fIsAutoCaptureDisabled) { m_fIsAutoCaptureDisabled = fIsAutoCaptureDisabled; }
void setNumLockAdaptionCnt(uint uNumLockAdaptionCnt) { m_uNumLockAdaptionCnt = uNumLockAdaptionCnt; }
void setCapsLockAdaptionCnt(uint uCapsLockAdaptionCnt) { m_uCapsLockAdaptionCnt = uCapsLockAdaptionCnt; }
void sigCloseRuntimeUI();
void sigMousePointerShapeChange();
void sigMouseCapabilityChange();
void sigKeyboardLedsChange();
void sigMachineStateChange();
void sigAdditionsStateChange();
void sigVRDEChange();
void sigVideoCaptureChange();
void sigUSBControllerChange();
void sigUSBDeviceStateChange(const CUSBDevice &device, bool bIsAttached, const CVirtualBoxErrorInfo &error);
void sigSharedFolderChange();
#ifdef RT_OS_DARWIN
void sigShowWindows();
void sigCPUExecutionCapChange();
void sigGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo);
void sigHostScreenCountChanged();
void sigHostScreenGeometryChanged();
void sigMachineStarted();
void sltCloseRuntimeUI();
void sltMousePointerShapeChange(bool fVisible, bool fAlpha, QPoint hotCorner, QSize size, QVector<uint8_t> shape);
void sltMouseCapabilityChange(bool fSupportsAbsolute, bool fSupportsRelative, bool fSupportsMultiTouch, bool fNeedsHostCursor);
void sltAdditionsChange();
void sltVRDEChange();
void sltVideoCaptureChange();
void sltGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo);
#ifdef RT_OS_DARWIN
void sltCheckIfHostDisplayChanged();
void sltHandleHostScreenCountChange();
void prepareConnections();
void prepareConsoleEventHandlers();
void prepareScreens();
void prepareFramebuffers();
void prepareMenuPool();
void loadSessionSettings();
void saveSessionSettings();
void cleanupMenuPool();
void cleanupFramebuffers();
void cleanupConsoleEventHandlers();
void cleanupConnections();
void updateSessionSettings();
void setPointerShape(const uchar *pShapeData, bool fHasAlpha, uint uXHot, uint uYHot, uint uWidth, uint uHeight);
void reinitMenuPool();
bool preparePowerUp();
int countOfVisibleWindows();
#ifdef Q_WS_MAC
void recacheDisplayData();
#if defined(Q_WS_WIN)
#ifdef Q_WS_MAC