VirtualBox

Changeset 94685 in vbox


Ignore:
Timestamp:
Apr 22, 2022 10:16:24 AM (3 years ago)
Author:
vboxsync
Message:

Main/Update check: Settings fixes, added @todos. ​​bugref:7983

Location:
trunk/src/VBox
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageUpdateCheck.cpp

    r94670 r94685  
    184184                else if (!RTStrICmp(ValueUnion.psz, "withbetas"))
    185185                    enmChannel = UpdateChannel_WithBetas;
     186                /** @todo UpdateChannel_WithTesting once supported. */
    186187                else if (!RTStrICmp(ValueUnion.psz, "all"))
    187188                    enmChannel = UpdateChannel_All;
     
    196197                break;
    197198
     199            /** @todo Add more options like proxy + repo handling etc. */
     200
    198201            default:
    199202                return errorGetOpt(c, &ValueUnion);
     
    201204    }
    202205
    203     if (   fEnabled == -1
    204         && enmChannel != enmChannelNil
     206    if (   fEnabled       == -1
     207        && enmChannel     == enmChannelNil
    205208        && cFrequencyDays == 0)
    206209        return errorSyntax(UpdateCheck::tr("No change requested"));
     
    221224        CHECK_ERROR2I_RET(pUpdateAgent, COMSETTER(CheckFrequency)(cFrequencyDays * RT_SEC_1DAY), RTEXITCODE_FAILURE);
    222225    }
    223 
    224226    return RTEXITCODE_SUCCESS;
    225227}
  • trunk/src/VBox/Main/include/UpdateAgentImpl.h

    r94670 r94685  
    128128
    129129protected:
    130     /** @name Wrapped IUpdateAgent attributes and methods
     130
     131    /** @name Internal helper methods.
     132     * @{ */
     133    HRESULT i_commitSettings(AutoWriteLock &aLock);
     134    /** @}  */
     135
     136protected:
     137    /** @name Wrapped IUpdateAgent attributes and methods.
    131138     * @{ */
    132139    HRESULT checkFor(ComPtr<IProgress> &aProgress);
  • trunk/src/VBox/Main/src-server/HostImpl.cpp

    r94643 r94685  
    20852085    RT_NOREF(data);
    20862086#endif /* VBOX_WITH_USB */
     2087
     2088#ifdef VBOX_WITH_UPDATE_AGENT
     2089    rc = m->pUpdateHost->i_loadSettings(data.updateHost);
     2090    ComAssertComRCRet(rc, rc);
     2091    /** @todo Add handling for ExtPack and Guest Additions updates here later. See @bugref{7983}. */
     2092#endif
     2093
    20872094    return rc;
    20882095}
  • trunk/src/VBox/Main/src-server/UpdateAgentImpl.cpp

    r94670 r94685  
    238238    m->fEnabled = aEnabled;
    239239
    240     return S_OK;
     240    return i_commitSettings(alock);
    241241}
    242242
     
    278278    m->uCheckFreqSeconds = aFreqSeconds;
    279279
    280     return S_OK;
     280    return i_commitSettings(alock);
    281281}
    282282
     
    296296    m->enmChannel = aChannel;
    297297
    298     return S_OK;
     298    return i_commitSettings(alock);
    299299}
    300300
     
    326326    m->strRepoUrl = aRepo;
    327327
    328     return S_OK;
     328        return i_commitSettings(alock);
    329329}
    330330
     
    344344    m->enmProxyMode = aMode;
    345345
    346     return S_OK;
     346    return i_commitSettings(alock);
    347347}
    348348
     
    362362    m->strProxyUrl = aAddress;
    363363
    364     return S_OK;
     364    return i_commitSettings(alock);
    365365}
    366366
     
    579579    m->uCheckCount = aCount;
    580580
    581     return S_OK;
     581    return i_commitSettings(alock);
    582582}
    583583
     
    591591    m->strLastCheckDate = aDate;
    592592
    593     return S_OK;
     593    return i_commitSettings(alock);
     594}
     595
     596
     597/*********************************************************************************************************************************
     598*   Internal helper methods                                                                                                      *
     599*********************************************************************************************************************************/
     600
     601/**
     602 * Internal helper function to commit modified settings.
     603 *
     604 * @returns HRESULT
     605 * @param   aLock               Write lock to release before committing settings.
     606 */
     607HRESULT UpdateAgent::i_commitSettings(AutoWriteLock &aLock)
     608{
     609    aLock.release();
     610
     611    AutoWriteLock vboxLock(m_VirtualBox COMMA_LOCKVAL_SRC_POS);
     612        return m_VirtualBox->i_saveSettings();
    594613}
    595614
     
    799818    m->uCheckCount++;
    800819
     820    rc = i_commitSettings(alock);
     821    AssertComRCReturn(rc, rc);
     822
    801823    strUrl.appendPrintf("&count=%RU32", m->uCheckCount);
    802 
    803     alock.release();
    804824
    805825    // Update the query URL (if necessary) with the 'channel' information.
  • trunk/src/VBox/Main/xml/Settings.cpp

    r94643 r94685  
    23562356                                pelmLevel4Child->getAttributeValue("enabled", updateHost.fEnabled);
    23572357                                pelmLevel4Child->getAttributeValue("channel", (uint32_t&)updateHost.enmChannel);
    2358                                 pelmLevel4Child->getAttributeValue("checkFrequency", updateHost.uCheckFreqSeconds);
     2358                                pelmLevel4Child->getAttributeValue("checkFreqSec", updateHost.uCheckFreqSeconds);
    23592359                                pelmLevel4Child->getAttributeValue("repoUrl", updateHost.strRepoUrl);
    23602360                                pelmLevel4Child->getAttributeValue("proxyMode", (uint32_t&)updateHost.enmProxyMode);
     
    26032603    pelmUpdateHost->setAttribute("enabled", updateHost.fEnabled);
    26042604    pelmUpdateHost->setAttribute("channel", (int32_t)updateHost.enmChannel);
    2605     pelmUpdateHost->setAttribute("checkFrequency", updateHost.uCheckFreqSeconds);
     2605    pelmUpdateHost->setAttribute("checkFreqSec", updateHost.uCheckFreqSeconds);
    26062606    if (updateHost.strRepoUrl.length())
    26072607        pelmUpdateHost->setAttribute("repoUrl", updateHost.strRepoUrl);
Note: See TracChangeset for help on using the changeset viewer.

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