VirtualBox

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

Last change on this file since 67954 was 61042, checked in by vboxsync, 8 years ago

Main/Machine+BIOSSettings: introduce APIC/X2APIC CPU feature settings and a BIOS setting what should be used.
Frontends/VBoxManage: corresponding changes to allow making the settings changes
Devices/BIOS+EFI: placeholder for the BIOS setting part, which isn't implemented yet

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
Line 
1/* $Id: BIOSSettingsImpl.h 61042 2016-05-19 11:57:10Z vboxsync $ */
2
3/** @file
4 *
5 * VirtualBox COM class implementation
6 */
7
8/*
9 * Copyright (C) 2006-2016 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 ____H_BIOSSETTINGS
21#define ____H_BIOSSETTINGS
22
23#include "BIOSSettingsWrap.h"
24
25class GuestOSType;
26
27namespace settings
28{
29 struct BIOSSettings;
30}
31
32class ATL_NO_VTABLE BIOSSettings :
33 public BIOSSettingsWrap
34{
35public:
36
37 DECLARE_EMPTY_CTOR_DTOR(BIOSSettings)
38
39 HRESULT FinalConstruct();
40 void FinalRelease();
41
42 // public initializer/uninitializer for internal purposes only
43 HRESULT init(Machine *parent);
44 HRESULT init(Machine *parent, BIOSSettings *that);
45 HRESULT initCopy(Machine *parent, BIOSSettings *that);
46 void uninit();
47
48 // public methods only for internal purposes
49 HRESULT i_loadSettings(const settings::BIOSSettings &data);
50 HRESULT i_saveSettings(settings::BIOSSettings &data);
51
52 void i_rollback();
53 void i_commit();
54 void i_copyFrom(BIOSSettings *aThat);
55 void i_applyDefaults(GuestOSType *aOsType);
56
57private:
58
59 // wrapped IBIOSettings properties
60 HRESULT getLogoFadeIn(BOOL *enabled);
61 HRESULT setLogoFadeIn(BOOL enable);
62 HRESULT getLogoFadeOut(BOOL *enabled);
63 HRESULT setLogoFadeOut(BOOL enable);
64 HRESULT getLogoDisplayTime(ULONG *displayTime);
65 HRESULT setLogoDisplayTime(ULONG displayTime);
66 HRESULT getLogoImagePath(com::Utf8Str &imagePath);
67 HRESULT setLogoImagePath(const com::Utf8Str &imagePath);
68 HRESULT getBootMenuMode(BIOSBootMenuMode_T *bootMenuMode);
69 HRESULT setBootMenuMode(BIOSBootMenuMode_T bootMenuMode);
70 HRESULT getACPIEnabled(BOOL *enabled);
71 HRESULT setACPIEnabled(BOOL enable);
72 HRESULT getIOAPICEnabled(BOOL *aIOAPICEnabled);
73 HRESULT setIOAPICEnabled(BOOL aIOAPICEnabled);
74 HRESULT getAPICMode(APICMode_T *aAPICMode);
75 HRESULT setAPICMode(APICMode_T aAPICMode);
76 HRESULT getTimeOffset(LONG64 *offset);
77 HRESULT setTimeOffset(LONG64 offset);
78 HRESULT getPXEDebugEnabled(BOOL *enabled);
79 HRESULT setPXEDebugEnabled(BOOL enable);
80 HRESULT getNonVolatileStorageFile(com::Utf8Str &aNonVolatileStorageFile);
81
82 struct Data;
83 Data *m;
84};
85
86#endif // ____H_BIOSSETTINGS
87
88/* 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