UIConsoleEventHandler.h revision 4feb9880954f5fcb0c98feb110721798baccf992
0N/A/** @file
0N/A *
0N/A * VBox frontends: Qt GUI ("VirtualBox"):
0N/A * UIConsoleEventHandler class declaration
0N/A */
0N/A
0N/A/*
0N/A * Copyright (C) 2010-2013 Oracle Corporation
0N/A *
0N/A * This file is part of VirtualBox Open Source Edition (OSE), as
0N/A * available from http://www.virtualbox.org. This file is free software;
0N/A * you can redistribute it and/or modify it under the terms of the GNU
0N/A * General Public License (GPL) as published by the Free Software
0N/A * Foundation, in version 2 as it comes in the "COPYING" file of the
0N/A * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0N/A * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0N/A */
0N/A
0N/A#ifndef __UIConsoleEventHandler_h__
0N/A#define __UIConsoleEventHandler_h__
0N/A
0N/A/* COM includes: */
0N/A#include "COMEnums.h"
0N/A#include "CVirtualBoxErrorInfo.h"
0N/A#include "CEventListener.h"
0N/A#include "CMediumAttachment.h"
0N/A#include "CNetworkAdapter.h"
0N/A#include "CUSBDevice.h"
0N/A
0N/A/* Forward declarations: */
0N/Aclass UISession;
0N/A
0N/Aclass UIConsoleEventHandler: public QObject
0N/A{
0N/A Q_OBJECT;
0N/A
0N/Apublic:
0N/A static UIConsoleEventHandler* instance(UISession *pSession = 0);
0N/A static void destroy();
0N/A
0N/Asignals:
0N/A void sigMousePointerShapeChange(bool fVisible, bool fAlpha, QPoint hotCorner, QSize size, QVector<uint8_t> shape);
0N/A void sigMouseCapabilityChange(bool fSupportsAbsolute, bool fSupportsRelative, bool fNeedsHostCursor);
0N/A void sigKeyboardLedsChangeEvent(bool fNumLock, bool fCapsLock, bool fScrollLock);
0N/A void sigStateChange(KMachineState state);
0N/A void sigAdditionsChange();
0N/A void sigNetworkAdapterChange(CNetworkAdapter adapter);
0N/A void sigMediumChange(CMediumAttachment attachment);
0N/A void sigVRDEChange();
0N/A void sigVideoCaptureChange();
0N/A void sigUSBControllerChange();
0N/A void sigUSBDeviceStateChange(CUSBDevice device, bool fAttached, CVirtualBoxErrorInfo error);
0N/A void sigSharedFolderChange();
0N/A void sigRuntimeError(bool fFatal, QString strId, QString strMessage);
0N/A#ifdef RT_OS_DARWIN
0N/A void sigShowWindow();
0N/A#endif /* RT_OS_DARWIN */
0N/A void sigCPUExecutionCapChange();
0N/A void sigGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo);
0N/A
0N/Aprivate slots:
0N/A void sltCanShowWindow(bool &fVeto, QString &strReason);
0N/A void sltShowWindow(LONG64 &winId);
0N/A
0N/Aprivate:
0N/A UIConsoleEventHandler(UISession *pSession);
0N/A ~UIConsoleEventHandler();
0N/A
0N/A static UIConsoleEventHandler *m_pInstance;
0N/A UISession *m_pSession;
0N/A CEventListener m_mainEventListener;
0N/A};
0N/A
0N/A#define gConsoleEvents UIConsoleEventHandler::instance()
0N/A
0N/A#endif /* !__UIConsoleEventHandler_h__ */
0N/A
0N/A