UIConsoleEventHandler.h revision bc99944051834ab3282f351a5ba9639e46334bc7
d34409ad02ea0d28e08a6c4b089a412fdb3b4c9cvboxsync * VBox Qt GUI - UIConsoleEventHandler class declaration.
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync * Copyright (C) 2010-2014 Oracle Corporation
346af0930020342df40a1ca8d13eb185ad48067evboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
346af0930020342df40a1ca8d13eb185ad48067evboxsync * available from http://www.virtualbox.org. This file is free software;
346af0930020342df40a1ca8d13eb185ad48067evboxsync * you can redistribute it and/or modify it under the terms of the GNU
346af0930020342df40a1ca8d13eb185ad48067evboxsync * General Public License (GPL) as published by the Free Software
346af0930020342df40a1ca8d13eb185ad48067evboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
346af0930020342df40a1ca8d13eb185ad48067evboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
346af0930020342df40a1ca8d13eb185ad48067evboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
8bf8c6b1914c9e7e60b1547888400668f1774497vboxsync/* COM includes: */
8bf8c6b1914c9e7e60b1547888400668f1774497vboxsync/* Forward declarations: */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync/** Console event handler. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about mouse pointer shape change. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync void sigMousePointerShapeChange(bool fVisible, bool fAlpha, QPoint hotCorner, QSize size, QVector<uint8_t> shape);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about mouse capability change. */
1e55c91541549682278f13c784f4ecc57bd9a2b3vboxsync void sigMouseCapabilityChange(bool fSupportsAbsolute, bool fSupportsRelative, bool fSupportsMultiTouch, bool fNeedsHostCursor);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about keyboard LEDs change. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync void sigKeyboardLedsChangeEvent(bool fNumLock, bool fCapsLock, bool fScrollLock);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about machine state change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about guest additions state change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about network adapter state change. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync void sigNetworkAdapterChange(CNetworkAdapter adapter);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about storage medium state change. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync void sigMediumChange(CMediumAttachment attachment);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about VRDE device state change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about Video Capture device state change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about USB controller state change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about USB device state change. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync void sigUSBDeviceStateChange(CUSBDevice device, bool fAttached, CVirtualBoxErrorInfo error);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about shared folder state change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about CPU execution-cap change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about guest-screen configuration change. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync void sigGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about Runtime error. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync void sigRuntimeError(bool fFatal, QString strId, QString strMessage);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Notifies about VM window should be shown. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync#endif /* RT_OS_DARWIN */
bc99944051834ab3282f351a5ba9639e46334bc7vboxsync /** Static instance wrapper. */
bc99944051834ab3282f351a5ba9639e46334bc7vboxsync static UIConsoleEventHandler* instance() { return m_spInstance; }
bc99944051834ab3282f351a5ba9639e46334bc7vboxsync /** Static instance constructor. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Static instance destructor. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync static void destroy();
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Returns whether VM window can be shown. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync void sltCanShowWindow(bool &fVeto, QString &strReason);
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Shows VM window if possible. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Constructor: */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Prepare routine. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Cleanup routine. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Holds the static instance. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Holds the UI session reference. */
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync /** Holds the main event listener instance. */
346af0930020342df40a1ca8d13eb185ad48067evboxsync#define gConsoleEvents UIConsoleEventHandler::instance()
1af8dbd6b690b0dc1cec3fcbaf51f95d4a9f0b2bvboxsync#endif /* !___UIConsoleEventHandler_h___ */