SerialPortImpl.h revision 46f059bea92bedbd395793702c73946ead235586
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * VirtualBox COM class implementation
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * available from http://www.virtualbox.org. This file is free software;
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * you can redistribute it and/or modify it under the terms of the GNU
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * General Public License (GPL) as published by the Free Software
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync * additional information or have any questions.
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync public VirtualBoxSupportErrorInfoImpl <SerialPort, ISerialPort>,
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync // public initializer/uninitializer for internal purposes only
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync HRESULT init (Machine *aParent, SerialPort *aThat);
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync HRESULT initCopy (Machine *parent, SerialPort *aThat);
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync // ISerialPort properties
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync STDMETHOD(COMGETTER(HostMode)) (PortMode_T *aHostMode);
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync STDMETHOD(COMSETTER(HostMode)) (PortMode_T aHostMode);
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync // public methods only for internal purposes
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync HRESULT loadSettings (const settings::Key &aPortNode);
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync bool isModified() { AutoWriteLock alock (this); return mData.isBackedUp(); }
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync bool isReallyModified() { AutoWriteLock alock (this); return mData.hasActualChanges(); }
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync // public methods for internal purposes only
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync // (ensure there is a caller and a read lock before calling them!)
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync // for VirtualBoxSupportErrorInfoImpl
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync static const wchar_t *getComponentName() { return L"SerialPort"; }
13493ab7596e827b8d0caab2c89e635dd65f78f9vboxsync#endif // ____H_FLOPPYDRIVEIMPL