VirtualBox

Changeset 94650 in vbox for trunk/src


Ignore:
Timestamp:
Apr 20, 2022 11:52:14 AM (3 years ago)
Author:
vboxsync
Message:

Main/Update check: Big overhaul of the API and functionality [build fix]. bugref:7983

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/UpdateAgentImpl.h

    r94648 r94650  
    4141};
    4242
    43 class ATL_NO_VTABLE UpdateAgent
    44     : public UpdateAgentWrap
     43class UpdateAgentBase
     44{
     45protected: /* Not directly instancable. */
     46
     47    UpdateAgentBase()
     48        : m_VirtualBox(NULL)
     49        , m(new settings::UpdateAgent) { }
     50
     51    virtual ~UpdateAgentBase() { }
     52
     53public:
     54
     55    /** @name Pure virtual public methods for internal purposes only
     56     *        (ensure there is a caller and a read lock before calling them!)
     57     * @{ */
     58    virtual HRESULT i_loadSettings(const settings::UpdateAgent &data) = 0;
     59    virtual HRESULT i_saveSettings(settings::UpdateAgent &data) = 0;
     60
     61    virtual HRESULT i_setCheckCount(ULONG aCount) = 0;
     62    virtual HRESULT i_setLastCheckDate(const com::Utf8Str &aDate) = 0;
     63    /** @} */
     64
     65protected:
     66
     67    /** @name Pure virtual internal task callbacks.
     68     * @{ */
     69    friend UpdateAgentTask;
     70    virtual DECLCALLBACK(HRESULT) i_updateTask(UpdateAgentTask *pTask) = 0;
     71    /** @} */
     72
     73    /** @name Static helper methods.
     74     * @{ */
     75    static Utf8Str i_getPlatformInfo(void);
     76    /** @} */
     77
     78protected:
     79    VirtualBox * const m_VirtualBox;
     80
     81    /** @name Data members.
     82     * @{ */
     83    settings::UpdateAgent *m;
     84
     85    struct Data
     86    {
     87        UpdateAgentTaskResult m_lastResult;
     88
     89        Utf8Str               m_strName;
     90        bool                  m_fHidden;
     91        UpdateState_T         m_enmState;
     92        uint32_t              m_uOrder;
     93
     94        Data(void)
     95        {
     96            m_fHidden  = true;
     97            m_enmState = UpdateState_Invalid;
     98            m_uOrder   = UINT32_MAX;
     99        }
     100    } mData;
     101    /** @} */
     102};
     103
     104class ATL_NO_VTABLE UpdateAgent :
     105    public UpdateAgentWrap,
     106    public UpdateAgentBase
    45107{
    46108public:
     
    97159    virtual HRESULT getLastCheckDate(com::Utf8Str &aData);
    98160    /** @} */
    99 
    100     /** @name Internal task callbacks.
    101      * @{ */
    102     friend UpdateAgentTask;
    103     virtual DECLCALLBACK(HRESULT) i_updateTask(UpdateAgentTask *pTask) = 0;
    104     /** @} */
    105 
    106     /** @name Static helper methods.
    107      * @{ */
    108     static Utf8Str i_getPlatformInfo(void);
    109     /** @} */
    110 
    111 protected:
    112     VirtualBox * const m_VirtualBox;
    113 
    114     /** @name Data members.
    115      * @{ */
    116     settings::UpdateAgent *m;
    117 
    118     struct Data
    119     {
    120         UpdateAgentTaskResult m_lastResult;
    121 
    122         Utf8Str               m_strName;
    123         bool                  m_fHidden;
    124         UpdateState_T         m_enmState;
    125         uint32_t              m_uOrder;
    126 
    127         Data(void)
    128         {
    129             m_fHidden  = true;
    130             m_enmState = UpdateState_Invalid;
    131             m_uOrder   = UINT32_MAX;
    132         }
    133     } mData;
    134     /** @} */
    135161};
    136162
     
    155181    /** @name Implemented (pure) virtual methods from UpdateAgent.
    156182     * @{ */
    157     virtual HRESULT check(ComPtr<IProgress> &aProgress) RT_OVERRIDE;
     183    HRESULT check(ComPtr<IProgress> &aProgress);
    158184
    159     virtual DECLCALLBACK(HRESULT) i_updateTask(UpdateAgentTask *pTask) RT_OVERRIDE;
     185    DECLCALLBACK(HRESULT) i_updateTask(UpdateAgentTask *pTask);
    160186    /** @}  */
    161187
  • trunk/src/VBox/Main/src-server/UpdateAgentImpl.cpp

    r94648 r94650  
    5555{
    5656public:
    57     UpdateAgentTask(UpdateAgent *aThat, Progress *aProgress)
     57    UpdateAgentTask(UpdateAgentBase *aThat, Progress *aProgress)
    5858        : m_pParent(aThat)
    5959        , m_pProgress(aProgress)
     
    6767
    6868    /** Weak pointer to parent (update agent). */
    69     UpdateAgent         *m_pParent;
     69    UpdateAgentBase     *m_pParent;
    7070    /** Smart pointer to the progress object for this job. */
    7171    ComObjPtr<Progress>  m_pProgress;
     
    7676void UpdateAgentTask::handler(void)
    7777{
    78     UpdateAgent *pUpdateAgent = this->m_pParent;
     78    UpdateAgentBase *pUpdateAgent = this->m_pParent;
    7979    AssertPtr(pUpdateAgent);
    8080
     
    9292*********************************************************************************************************************************/
    9393UpdateAgent::UpdateAgent()
    94     : m_VirtualBox(NULL)
    95     , m(new settings::UpdateAgent)
    9694{
    9795}
     
    377375
    378376/* static */
    379 Utf8Str UpdateAgent::i_getPlatformInfo(void)
     377Utf8Str UpdateAgentBase::i_getPlatformInfo(void)
    380378{
    381379    /* Prepare platform report: */
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