BIOSSettingsImpl.cpp revision 26d2a42f095ded346df2e41cc4837cb426b4753a
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync * VirtualBox COM class implementation
7c9a5eca233baf6ede345ace077a00bd0b7af1efvboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync * available from http://www.virtualbox.org. This file is free software;
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync * additional information or have any questions.
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync// constructor / destructor
3609dfc9f2733f4dc836c6a6bb3745398f280fcevboxsync/////////////////////////////////////////////////////////////////////////////
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsync// public initializer/uninitializer for internal purposes only
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsync/////////////////////////////////////////////////////////////////////////////
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsync * Initializes the audio adapter object.
134a71c1528b56afe4db843ab63ec5a5b849535bvboxsync * @returns COM result indicator
6420f75ffc86ab6494eb5e95418f0c95e71e8068vboxsync /* Enclose the state transition NotReady->InInit->Ready */
6420f75ffc86ab6494eb5e95418f0c95e71e8068vboxsync /* share the parent weakly */
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * Initializes the audio adapter object given another audio adapter object
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * (a kind of copy constructor). This object shares data with
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * the object passed as an argument.
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * @note This object must be destroyed before the original object
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * it shares data with is destroyed.
ff78b877ed7acd25e2d384570a938441455d6a95vboxsyncHRESULT BIOSSettings::init (Machine *aParent, BIOSSettings *that)
436b5c616e019c5e62053657c52d3ab5562ecbbfvboxsync LogFlowThisFunc (("aParent: %p, that: %p\n", aParent, that));
436b5c616e019c5e62053657c52d3ab5562ecbbfvboxsync /* Enclose the state transition NotReady->InInit->Ready */
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * Initializes the guest object given another guest object
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * (a kind of copy constructor). This object makes a private copy of data
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * of the original object passed as an argument.
ff78b877ed7acd25e2d384570a938441455d6a95vboxsyncHRESULT BIOSSettings::initCopy (Machine *aParent, BIOSSettings *that)
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync LogFlowThisFunc (("aParent: %p, that: %p\n", aParent, that));
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync /* Enclose the state transition NotReady->InInit->Ready */
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync // mPeer is left null
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * Uninitializes the instance and sets the ready flag to FALSE.
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync * Called either from FinalRelease() or by the parent when it gets destroyed.
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync /* Enclose the state transition Ready->InUninit->NotReady */
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync// IBIOSSettings properties
ff78b877ed7acd25e2d384570a938441455d6a95vboxsync/////////////////////////////////////////////////////////////////////////////
ff78b877ed7acd25e2d384570a938441455d6a95vboxsyncSTDMETHODIMP BIOSSettings::COMGETTER(LogoFadeIn)(BOOL *enabled)
30868e719f5a45ec4689ecb2616767cb1fd02c28vboxsyncSTDMETHODIMP BIOSSettings::COMSETTER(LogoFadeIn)(BOOL enable)
30868e719f5a45ec4689ecb2616767cb1fd02c28vboxsync /* the machine needs to be mutable */
30868e719f5a45ec4689ecb2616767cb1fd02c28vboxsync Machine::AutoMutableStateDependency adep (mParent);
30868e719f5a45ec4689ecb2616767cb1fd02c28vboxsyncSTDMETHODIMP BIOSSettings::COMGETTER(LogoFadeOut)(BOOL *enabled)
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsyncSTDMETHODIMP BIOSSettings::COMSETTER(LogoFadeOut)(BOOL enable)
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsync /* the machine needs to be mutable */
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsync Machine::AutoMutableStateDependency adep (mParent);
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsyncSTDMETHODIMP BIOSSettings::COMGETTER(LogoDisplayTime)(ULONG *displayTime)
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsyncSTDMETHODIMP BIOSSettings::COMSETTER(LogoDisplayTime)(ULONG displayTime)
42c1972c22e09797b4b24afbd0ec114ed076c37cvboxsync /* the machine needs to be mutable */
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsync Machine::AutoMutableStateDependency adep (mParent);
42c1972c22e09797b4b24afbd0ec114ed076c37cvboxsyncSTDMETHODIMP BIOSSettings::COMGETTER(LogoImagePath)(BSTR *imagePath)
0bc7c910e57c78c68e89122e2244cc073d1ef06evboxsyncSTDMETHODIMP BIOSSettings::COMSETTER(LogoImagePath)(INPTR BSTR imagePath)
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsync /* empty strings are not allowed as path names */
7c9a5eca233baf6ede345ace077a00bd0b7af1efvboxsync /* the machine needs to be mutable */
7c9a5eca233baf6ede345ace077a00bd0b7af1efvboxsync Machine::AutoMutableStateDependency adep (mParent);
611910c4ba57eb6db5c0d508ca7b923efd654aecvboxsyncSTDMETHODIMP BIOSSettings::COMGETTER(BootMenuMode)(BIOSBootMenuMode_T *bootMenuMode)
3c941112ffb137d71a8e457fcc3915f2d464ed2avboxsyncSTDMETHODIMP BIOSSettings::COMSETTER(BootMenuMode)(BIOSBootMenuMode_T bootMenuMode)
3c941112ffb137d71a8e457fcc3915f2d464ed2avboxsync /* the machine needs to be mutable */
3c941112ffb137d71a8e457fcc3915f2d464ed2avboxsync Machine::AutoMutableStateDependency adep (mParent);
return S_OK;
if (!enabled)
return E_POINTER;
return S_OK;
return S_OK;
if (!enabled)
return E_POINTER;
return S_OK;
return S_OK;
if (!enabled)
return E_POINTER;
return S_OK;
return S_OK;
if (!aControllerType)
return E_POINTER;
return S_OK;
switch (aControllerType)
case IDEControllerType_PIIX3:
case IDEControllerType_PIIX4:
return S_OK;
if (!offset)
return E_POINTER;
return S_OK;
return S_OK;
using namespace settings;
E_FAIL);
E_FAIL);
return S_OK;
using namespace settings;
E_FAIL);
case IDEControllerType_PIIX3:
case IDEControllerType_PIIX4:
E_FAIL);
return S_OK;
if (mPeer)