VirtualBox

source: vbox/trunk/src/VBox/Main/include/HostUpdateImpl.h@ 93412

Last change on this file since 93412 was 93115, checked in by vboxsync, 3 years ago

scm --update-copyright-year

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
Line 
1/* $Id: HostUpdateImpl.h 93115 2022-01-01 11:31:46Z vboxsync $ */
2/** @file
3 * VirtualBox COM class implementation
4 */
5
6/*
7 * Copyright (C) 2020-2022 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef MAIN_INCLUDED_HostUpdateImpl_h
19#define MAIN_INCLUDED_HostUpdateImpl_h
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24#include "HostUpdateWrap.h"
25#include <iprt/http.h> /* RTHTTP */
26
27
28class ATL_NO_VTABLE HostUpdate
29 : public HostUpdateWrap
30{
31public:
32 DECLARE_COMMON_CLASS_METHODS(HostUpdate)
33
34 HRESULT FinalConstruct();
35 void FinalRelease();
36
37 // public initializer/uninitializer for internal purposes only
38 HRESULT init(VirtualBox *aVirtualBox);
39 void uninit();
40
41private:
42 /** @name wrapped IHostUpdate attributes and methods
43 * @{ */
44 HRESULT updateCheck(UpdateCheckType_T aCheckType, ComPtr<IProgress> &aProgress) RT_OVERRIDE;
45 HRESULT getUpdateResponse(BOOL *aUpdateNeeded) RT_OVERRIDE;
46 HRESULT getUpdateVersion(com::Utf8Str &aUpdateVersion) RT_OVERRIDE;
47 HRESULT getUpdateURL(com::Utf8Str &aUpdateURL) RT_OVERRIDE;
48 HRESULT getUpdateCheckNeeded(BOOL *aUpdateCheckNeeded) RT_OVERRIDE;
49 /** @} */
50
51#ifdef VBOX_WITH_HOST_UPDATE_CHECK
52 Utf8Str i_platformInfo();
53 class UpdateCheckTask;
54 HRESULT i_updateCheckTask(UpdateCheckTask *pTask);
55 HRESULT i_checkForVBoxUpdate();
56 HRESULT i_checkForVBoxUpdateInner(RTHTTP hHttp, com::Utf8Str const &strUrl, com::Utf8Str const &strUserAgent,
57 ComPtr<ISystemProperties> const &ptrSystemProperties);
58#endif
59
60 /** @name Data members.
61 * @{ */
62 VirtualBox * const mVirtualBox;
63 BOOL m_updateNeeded;
64 Utf8Str m_updateVersion;
65 Utf8Str m_updateURL;
66 /** @} */
67};
68
69#endif /* !MAIN_INCLUDED_HostUpdateImpl_h */
70
71/* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note: See TracBrowser for help on using the repository browser.

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