VirtualBox

Changeset 98726 in vbox


Ignore:
Timestamp:
Feb 24, 2023 3:12:29 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
156027
Message:

FE/Qt: bugref:10322: Runtime UI: Reworking CMachine wrapper usage step-by-step; VRDE server stuff.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.cpp

    r98669 r98726  
    776776        QApplication::translate("UIMessageCenter", "Failed to acquire emulated USB parameter.") +
    777777        UIErrorString::formatErrorInfo(comDispatcher));
     778}
     779
     780/* static */
     781void UINotificationMessage::cannotAcquireVRDEServerParameter(const CVRDEServer &comServer)
     782{
     783    createMessage(
     784        QApplication::translate("UIMessageCenter", "VRDE server failure ..."),
     785        QApplication::translate("UIMessageCenter", "Failed to acquire VRDE server parameter.") +
     786        UIErrorString::formatErrorInfo(comServer));
    778787}
    779788
  • trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.h

    r98669 r98726  
    332332          * @param  comDispatcher  Brings the object parameter get acquired from. */
    333333        static void cannotAcquireEmulatedUSBParameter(const CEmulatedUSB &comDispatcher);
     334        /** Notifies about inability to acquire IVRDEServer parameter.
     335          * @param  comServer  Brings the object parameter get acquired from. */
     336        static void cannotAcquireVRDEServerParameter(const CVRDEServer &comServer);
    334337        /** Notifies about inability to acquire IVirtualSystemDescription parameter.
    335338          * @param  comVsd  Brings the object parameter get acquired from. */
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachine.cpp

    r98724 r98726  
    281281{
    282282    /* Make sure VRDE server present: */
    283     const CVRDEServer comServer = uisession()->machine().GetVRDEServer();
    284     AssertMsgReturnVoid(uisession()->machine().isOk() && comServer.isNotNull(),
     283    bool fServerPresent = false;
     284    acquireWhetherVRDEServerPresent(fServerPresent);
     285    AssertMsgReturnVoid(fServerPresent,
    285286                        ("VRDE server can't be null!\n"));
    286287
    287288    /* Check/Uncheck VRDE Server action depending on feature status: */
     289    bool fServerEnabled = false;
     290    acquireWhetherVRDEServerEnabled(fServerEnabled);
    288291    actionPool()->action(UIActionIndexRT_M_View_T_VRDEServer)->blockSignals(true);
    289     actionPool()->action(UIActionIndexRT_M_View_T_VRDEServer)->setChecked(comServer.GetEnabled());
     292    actionPool()->action(UIActionIndexRT_M_View_T_VRDEServer)->setChecked(fServerEnabled);
    290293    actionPool()->action(UIActionIndexRT_M_View_T_VRDEServer)->blockSignals(false);
    291294}
     
    562565{
    563566    return uisession()->invalidateAndUpdateScreen(uScreenId);
     567}
     568
     569bool UIMachine::acquireWhetherVRDEServerPresent(bool &fPresent)
     570{
     571    return uisession()->acquireWhetherVRDEServerPresent(fPresent);
     572}
     573
     574bool UIMachine::acquireWhetherVRDEServerEnabled(bool &fEnabled)
     575{
     576    return uisession()->acquireWhetherVRDEServerEnabled(fEnabled);
     577}
     578
     579bool UIMachine::setVRDEServerEnabled(bool fEnabled)
     580{
     581    return uisession()->setVRDEServerEnabled(fEnabled);
    564582}
    565583
     
    15971615    {
    15981616        /* Initialize 'View' menu: */
    1599         const CVRDEServer comServer = uisession()->machine().GetVRDEServer();
    1600         if (comServer.isNull())
     1617        bool fServerPresent = false;
     1618        acquireWhetherVRDEServerPresent(fServerPresent);
     1619        if (!fServerPresent)
    16011620            restrictionForView = (UIExtraDataMetaDefs::RuntimeMenuViewActionType)
    16021621                                 (restrictionForView | UIExtraDataMetaDefs::RuntimeMenuViewActionType_VRDEServer);
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachine.h

    r98724 r98726  
    342342        /** Notifies display about screen with passed uScreenId was invalidated. */
    343343        bool invalidateAndUpdateScreen(ulong uScreenId);
     344
     345        /** Acquires whether VRDE server is present. */
     346        bool acquireWhetherVRDEServerPresent(bool &fPresent);
     347        /** Acquires whether VRDE server is enabled. */
     348        bool acquireWhetherVRDEServerEnabled(bool &fEnabled);
     349        /** Defines whether VRDE server is enabled. */
     350        bool setVRDEServerEnabled(bool fEnabled);
    344351    /** @} */
    345352
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp

    r98724 r98726  
    19911991        return;
    19921992
    1993     /* Access VRDE server: */
    1994     CVRDEServer server = machine().GetVRDEServer();
    1995     AssertMsgReturnVoid(machine().isOk() && !server.isNull(),
     1993    /* Make sure VRDE server present: */
     1994    bool fServerPresent = false;
     1995    uimachine()->acquireWhetherVRDEServerPresent(fServerPresent);
     1996    AssertMsgReturnVoid(fServerPresent,
    19961997                        ("VRDE server should NOT be null!\n"));
    19971998
    19981999    /* Make sure something had changed: */
    1999     if (server.GetEnabled() == static_cast<BOOL>(fEnabled))
    2000         return;
    2001 
    2002     /* Update VRDE server state: */
    2003     server.SetEnabled(fEnabled);
    2004     if (!server.isOk())
    2005     {
    2006         /* Make sure action is updated: */
    2007         uimachine()->updateStateVRDEServerAction();
    2008         /* Notify about the error: */
    2009         return UINotificationMessage::cannotToggleVRDEServer(server, machineName(), fEnabled);
    2010     }
    2011 
    2012     /* Save machine-settings, make sure action is updated in case of failure: */
    2013     if (!uimachine()->saveSettings())
     2000    bool fServerEnabled = false;
     2001    uimachine()->acquireWhetherVRDEServerEnabled(fServerEnabled);
     2002    if (fServerEnabled == fEnabled)
     2003        return;
     2004
     2005    /* Update and save VRDE server state,
     2006     * make sure action is updated in case of failure: */
     2007    if (   !uimachine()->setVRDEServerEnabled(fEnabled)
     2008        || !uimachine()->saveSettings())
    20142009        return uimachine()->updateStateVRDEServerAction();
    20152010}
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp

    r98724 r98726  
    7171#include "CUSBDeviceFilter.h"
    7272#include "CUSBDeviceFilters.h"
     73#include "CVRDEServer.h"
    7374#ifdef VBOX_WITH_NETFLT
    7475# include "CNetworkAdapter.h"
     
    980981}
    981982
     983bool UISession::acquireWhetherVRDEServerPresent(bool &fPresent)
     984{
     985    CMachine comMachine = machine();
     986    CVRDEServer comServer = comMachine.GetVRDEServer();
     987    fPresent = comMachine.isOk() && comServer.isNotNull();
     988    return true;
     989}
     990
     991bool UISession::acquireWhetherVRDEServerEnabled(bool &fEnabled)
     992{
     993    CMachine comMachine = machine();
     994    CVRDEServer comServer = comMachine.GetVRDEServer();
     995    bool fSuccess = comMachine.isOk();
     996    if (!fSuccess)
     997        UINotificationMessage::cannotAcquireMachineParameter(comMachine);
     998    else
     999    {
     1000        const BOOL fServerEnabled = comServer.GetEnabled();
     1001        fSuccess = comServer.isOk();
     1002        if (!fSuccess)
     1003            UINotificationMessage::cannotAcquireVRDEServerParameter(comServer);
     1004        else
     1005            fEnabled = fServerEnabled == TRUE;
     1006    }
     1007    return fSuccess;
     1008}
     1009
     1010bool UISession::setVRDEServerEnabled(bool fEnabled)
     1011{
     1012    CMachine comMachine = machine();
     1013    CVRDEServer comServer = comMachine.GetVRDEServer();
     1014    bool fSuccess = comMachine.isOk();
     1015    if (!fSuccess)
     1016        UINotificationMessage::cannotAcquireMachineParameter(comMachine);
     1017    else
     1018    {
     1019        comServer.SetEnabled(fEnabled);
     1020        fSuccess = comServer.isOk();
     1021        if (!fSuccess)
     1022            UINotificationMessage::cannotToggleVRDEServer(comServer, machineName(), fEnabled);
     1023    }
     1024    return fSuccess;
     1025}
     1026
    9821027bool UISession::acquireDeviceActivity(const QVector<KDeviceType> &deviceTypes, QVector<KDeviceActivity> &states)
    9831028{
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.h

    r98724 r98726  
    394394        /** Notifies display about screen with passed uScreenId was invalidated. */
    395395        bool invalidateAndUpdateScreen(ulong uScreenId);
     396
     397        /** Acquires whether VRDE server is present. */
     398        bool acquireWhetherVRDEServerPresent(bool &fPresent);
     399        /** Acquires whether VRDE server is enabled. */
     400        bool acquireWhetherVRDEServerEnabled(bool &fEnabled);
     401        /** Defines whether VRDE server is enabled. */
     402        bool setVRDEServerEnabled(bool fEnabled);
    396403    /** @} */
    397404
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