VirtualBox

source: vbox/trunk/src/VBox/Main/include/BIOSSettingsImpl.h@ 82820

Last change on this file since 82820 was 81581, checked in by vboxsync, 5 years ago

Main,FE/VBoxManage: Add an option to present the SMBIOS System UUID (SMBIOS spec chapter 7.2.1) in little endian format to the guest like it is supposed to be done. To not break existing behavior and causing certain software to require re-activation existing VMs will keep the current (wrong) beahvior. New VMs will be switched to the correct behavior. In addition VBoxManage got a new parameter to set the behavior evene for existing VMs

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1/* $Id: BIOSSettingsImpl.h 81581 2019-10-30 09:45:55Z vboxsync $ */
2
3/** @file
4 *
5 * VirtualBox COM class implementation - Machine BIOS settings.
6 */
7
8/*
9 * Copyright (C) 2006-2019 Oracle Corporation
10 *
11 * This file is part of VirtualBox Open Source Edition (OSE), as
12 * available from http://www.virtualbox.org. This file is free software;
13 * you can redistribute it and/or modify it under the terms of the GNU
14 * General Public License (GPL) as published by the Free Software
15 * Foundation, in version 2 as it comes in the "COPYING" file of the
16 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18 */
19
20#ifndef MAIN_INCLUDED_BIOSSettingsImpl_h
21#define MAIN_INCLUDED_BIOSSettingsImpl_h
22#ifndef RT_WITHOUT_PRAGMA_ONCE
23# pragma once
24#endif
25
26#include "BIOSSettingsWrap.h"
27
28class GuestOSType;
29
30namespace settings
31{
32 struct BIOSSettings;
33}
34
35class ATL_NO_VTABLE BIOSSettings :
36 public BIOSSettingsWrap
37{
38public:
39
40 DECLARE_EMPTY_CTOR_DTOR(BIOSSettings)
41
42 HRESULT FinalConstruct();
43 void FinalRelease();
44
45 // public initializer/uninitializer for internal purposes only
46 HRESULT init(Machine *parent);
47 HRESULT init(Machine *parent, BIOSSettings *that);
48 HRESULT initCopy(Machine *parent, BIOSSettings *that);
49 void uninit();
50
51 // public methods for internal purposes only
52 HRESULT i_loadSettings(const settings::BIOSSettings &data);
53 HRESULT i_saveSettings(settings::BIOSSettings &data);
54
55 void i_rollback();
56 void i_commit();
57 void i_copyFrom(BIOSSettings *aThat);
58 void i_applyDefaults(GuestOSType *aOsType);
59
60 com::Utf8Str i_getNonVolatileStorageFile();
61 void i_updateNonVolatileStorageFile(const com::Utf8Str &aNonVolatileStorageFile);
62
63private:
64
65 // wrapped IBIOSettings properties
66 HRESULT getLogoFadeIn(BOOL *enabled);
67 HRESULT setLogoFadeIn(BOOL enable);
68 HRESULT getLogoFadeOut(BOOL *enabled);
69 HRESULT setLogoFadeOut(BOOL enable);
70 HRESULT getLogoDisplayTime(ULONG *displayTime);
71 HRESULT setLogoDisplayTime(ULONG displayTime);
72 HRESULT getLogoImagePath(com::Utf8Str &imagePath);
73 HRESULT setLogoImagePath(const com::Utf8Str &imagePath);
74 HRESULT getBootMenuMode(BIOSBootMenuMode_T *bootMenuMode);
75 HRESULT setBootMenuMode(BIOSBootMenuMode_T bootMenuMode);
76 HRESULT getACPIEnabled(BOOL *enabled);
77 HRESULT setACPIEnabled(BOOL enable);
78 HRESULT getIOAPICEnabled(BOOL *aIOAPICEnabled);
79 HRESULT setIOAPICEnabled(BOOL aIOAPICEnabled);
80 HRESULT getAPICMode(APICMode_T *aAPICMode);
81 HRESULT setAPICMode(APICMode_T aAPICMode);
82 HRESULT getTimeOffset(LONG64 *offset);
83 HRESULT setTimeOffset(LONG64 offset);
84 HRESULT getPXEDebugEnabled(BOOL *enabled);
85 HRESULT setPXEDebugEnabled(BOOL enable);
86 HRESULT getNonVolatileStorageFile(com::Utf8Str &aNonVolatileStorageFile);
87 HRESULT getSMBIOSUuidLittleEndian(BOOL *enabled);
88 HRESULT setSMBIOSUuidLittleEndian(BOOL enable);
89
90 struct Data;
91 Data *m;
92};
93
94#endif /* !MAIN_INCLUDED_BIOSSettingsImpl_h */
95
96/* 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