VirtualBox

Changeset 54150 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Feb 11, 2015 4:51:55 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
98183
Message:

FE/Qt: 6366: Pass VBoxSVCAvailabilityChange event through GUI. No handlers so far.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMainEventListener.cpp

    r52733 r54150  
    4949#include "CCanShowWindowEvent.h"
    5050#include "CShowWindowEvent.h"
     51#include "CVBoxSVCAvailabilityChangedEvent.h"
    5152#include "CGuestMonitorChangedEvent.h"
    5253
     
    266267            break;
    267268        }
     269        case KVBoxEventType_OnVBoxSVCAvailabilityChanged:
     270        {
     271            CVBoxSVCAvailabilityChangedEvent es(pEvent);
     272            emit sigVBoxSVCAvailabilityChange(es.GetAvailable());
     273            break;
     274        }
    268275        case KVBoxEventType_OnGuestMonitorChanged:
    269276        {
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMainEventListener.h

    r52727 r54150  
    8181    void sigShowWindow(LONG64 &winId); /* use Qt::DirectConnection */
    8282    void sigCPUExecutionCapChange();
     83    void sigVBoxSVCAvailabilityChange(bool fAvailable);
    8384    void sigGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo);
    8485};
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp

    r54149 r54150  
    7373# include "UIModalWindowManager.h"
    7474# include "UIIconPool.h"
     75# include "UIVirtualBoxEventHandler.h"
    7576
    7677# ifdef Q_WS_X11
     
    220221VBoxGlobal::VBoxGlobal()
    221222    : mValid (false)
     223    , m_fVBoxSVCAvailable(true)
    222224    , mSelectorWnd (NULL)
    223225    , m_fSeparateProcess(false)
     
    38833885    m_strHomeFolder = virtualBox().GetHomeFolder();
    38843886
     3887    /* Watch for the VBoxSVC availability changes: */
     3888    connect(gVBoxEvents, SIGNAL(sigVBoxSVCAvailabilityChange(bool)),
     3889            this, SLOT(sltHandleVBoxSVCAvailabilityChange(bool)));
     3890
    38853891    /* create default non-null global settings */
    38863892    gset = VBoxGlobalSettings (false);
     
    42974303}
    42984304
     4305void VBoxGlobal::sltHandleVBoxSVCAvailabilityChange(bool fAvailable)
     4306{
     4307    /* Make sure the VBoxSVC availability changed: */
     4308    if (m_fVBoxSVCAvailable == fAvailable)
     4309        return;
     4310
     4311    /* Cache the new VBoxSVC availability value: */
     4312    m_fVBoxSVCAvailable = fAvailable;
     4313
     4314    /* Notify listeners about the VBoxSVC availability change: */
     4315    emit sigVBoxSVCAvailabilityChange();
     4316}
     4317
    42994318#ifdef VBOX_WITH_DEBUGGER_GUI
    43004319
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h

    r54149 r54150  
    112112    QString homeFolder() const { return m_strHomeFolder; }
    113113
     114    /** Returns the VBoxSVC availability value. */
     115    bool isVBoxSVCAvailable() const { return m_fVBoxSVCAvailable; }
     116
    114117    VBoxGlobalSettings &settings() { return gset; }
    115118    bool setSettings (VBoxGlobalSettings &gs);
     
    396399signals:
    397400
     401    /** Notifies listeners about the VBoxSVC availability change. */
     402    void sigVBoxSVCAvailabilityChange();
     403
    398404    /* Notifiers: Medium-processing stuff: */
    399405    void sigMediumCreated(const QString &strMediumID);
     
    417423    void prepare();
    418424    void cleanup();
     425
     426    /** Handles the VBoxSVC availability change. */
     427    void sltHandleVBoxSVCAvailabilityChange(bool fAvailable);
    419428
    420429protected:
     
    444453    /** Holds the symbolic VirtualBox home-folder representation. */
    445454    QString m_strHomeFolder;
     455
     456    /** Holds the VBoxSVC availability value. */
     457    bool m_fVBoxSVCAvailable;
    446458
    447459    VBoxGlobalSettings gset;
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/UIVirtualBoxEventHandler.cpp

    r54131 r54150  
    6060    m_mainEventListener = CEventListener(pListener);
    6161
     62    /* Get VirtualBoxClient: */
     63    const CVirtualBoxClient vboxClient = vboxGlobal().virtualBoxClient();
     64    AssertWrapperOk(vboxClient);
     65    /* Get event-source: */
     66    CEventSource eventSourceVirtualBoxClient = vboxClient.GetEventSource();
     67    AssertWrapperOk(eventSourceVirtualBoxClient);
     68    /* Register listener for expected event-types: */
     69    QVector<KVBoxEventType> vboxClientEvents;
     70    vboxClientEvents
     71        << KVBoxEventType_OnVBoxSVCAvailabilityChanged;
     72    eventSourceVirtualBoxClient.RegisterListener(m_mainEventListener, vboxClientEvents, TRUE);
     73    AssertWrapperOk(eventSourceVirtualBoxClient);
     74
    6275    /* Get VirtualBox: */
    6376    const CVirtualBox vbox = vboxGlobal().virtualBox();
    6477    AssertWrapperOk(vbox);
    6578    /* Get event-source: */
    66     CEventSource eventSource = vbox.GetEventSource();
    67     AssertWrapperOk(eventSource);
     79    CEventSource eventSourceVirtualBox = vbox.GetEventSource();
     80    AssertWrapperOk(eventSourceVirtualBox);
    6881    /* Register listener for expected event-types: */
    69     QVector<KVBoxEventType> events;
    70     events
     82    QVector<KVBoxEventType> vboxEvents;
     83    vboxEvents
    7184        << KVBoxEventType_OnMachineStateChanged
    7285        << KVBoxEventType_OnMachineDataChanged
     
    7689        << KVBoxEventType_OnSnapshotDeleted
    7790        << KVBoxEventType_OnSnapshotChanged;
    78     eventSource.RegisterListener(m_mainEventListener, events, TRUE);
    79     AssertWrapperOk(eventSource);
     91    eventSourceVirtualBox.RegisterListener(m_mainEventListener, vboxEvents, TRUE);
     92    AssertWrapperOk(eventSourceVirtualBox);
    8093
    8194    /* Prepare connections: */
     95    connect(pListener->getWrapped(), SIGNAL(sigVBoxSVCAvailabilityChange(bool)),
     96            this, SIGNAL(sigVBoxSVCAvailabilityChange(bool)),
     97            Qt::QueuedConnection);
    8298    connect(pListener->getWrapped(), SIGNAL(sigMachineStateChange(QString, KMachineState)),
    8399            this, SIGNAL(sigMachineStateChange(QString, KMachineState)),
     
    109125    AssertWrapperOk(vbox);
    110126    /* Get event-source: */
    111     CEventSource eventSource = vbox.GetEventSource();
    112     AssertWrapperOk(eventSource);
     127    CEventSource eventSourceVirtualBox = vbox.GetEventSource();
     128    AssertWrapperOk(eventSourceVirtualBox);
    113129    /* Unregister listener: */
    114     eventSource.UnregisterListener(m_mainEventListener);
     130    eventSourceVirtualBox.UnregisterListener(m_mainEventListener);
     131
     132    /* Get VirtualBoxClient: */
     133    const CVirtualBoxClient vboxClient = vboxGlobal().virtualBoxClient();
     134    AssertWrapperOk(vboxClient);
     135    /* Get event-source: */
     136    CEventSource eventSourceVirtualBoxClient = vboxClient.GetEventSource();
     137    AssertWrapperOk(eventSourceVirtualBoxClient);
     138    /* Unregister listener: */
     139    eventSourceVirtualBoxClient.UnregisterListener(m_mainEventListener);
    115140}
    116141
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/UIVirtualBoxEventHandler.h

    r54131 r54150  
    2929signals:
    3030
     31    /** Notifies listeners about the VBoxSVC become @a fAvailable. */
     32    void sigVBoxSVCAvailabilityChange(bool fAvailable);
    3133    /** Notifies listeners about @a state change event for the machine with @a strId. */
    3234    void sigMachineStateChange(QString strId, KMachineState state);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette