NetworkAdapterImpl.h revision 9abd802d84a98ae8602297346ec3b3290423bbab
38856343f90103280eb83b5e697f9f618b407d83vboxsync * VirtualBox COM class implementation
38856343f90103280eb83b5e697f9f618b407d83vboxsync * Copyright (C) 2006-2007 innotek GmbH
38856343f90103280eb83b5e697f9f618b407d83vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * available from http://www.virtualbox.org. This file is free software;
38856343f90103280eb83b5e697f9f618b407d83vboxsync * you can redistribute it and/or modify it under the terms of the GNU
38856343f90103280eb83b5e697f9f618b407d83vboxsync * General Public License (GPL) as published by the Free Software
38856343f90103280eb83b5e697f9f618b407d83vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
38856343f90103280eb83b5e697f9f618b407d83vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
38856343f90103280eb83b5e697f9f618b407d83vboxsync public VirtualBoxSupportErrorInfoImpl <NetworkAdapter, INetworkAdapter>,
38856343f90103280eb83b5e697f9f618b407d83vboxsync public VirtualBoxSupportTranslation <NetworkAdapter>,
a4d7fc6f54717c342281099fe14f5666be9b7921vboxsync , mCableConnected (TRUE), mLineSpeed (0), mTraceEnabled (FALSE)
38856343f90103280eb83b5e697f9f618b407d83vboxsync mTAPSetupApplication == that.mTAPSetupApplication &&
38856343f90103280eb83b5e697f9f618b407d83vboxsync mTAPTerminateApplication == that.mTAPTerminateApplication &&
10f18618390096a9c968016b6ca94d77b91618fbvboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT (NetworkAdapter)
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync // public initializer/uninitializer for internal purposes only
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync HRESULT init (Machine *aParent, NetworkAdapter *aThat);
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync HRESULT initCopy (Machine *aParent, NetworkAdapter *aThat);
1e6f3dcff5f382b0ade59e1e7f3728e59e9b8c90vboxsync // INetworkAdapter properties
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(AdapterType))(NetworkAdapterType_T *aAdapterType);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMSETTER(AdapterType))(NetworkAdapterType_T aAdapterType);
1e6f3dcff5f382b0ade59e1e7f3728e59e9b8c90vboxsync STDMETHOD(COMGETTER(MACAddress)) (BSTR *aMACAddress);
1e6f3dcff5f382b0ade59e1e7f3728e59e9b8c90vboxsync STDMETHOD(COMSETTER(MACAddress)) (INPTR BSTR aMACAddress);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(AttachmentType)) (NetworkAttachmentType_T *aAttachmentType);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(HostInterface)) (BSTR *aHostInterface);
b0553043536ae0bdf9921b91597f9dc6c316b1b4vboxsync STDMETHOD(COMSETTER(HostInterface)) (INPTR BSTR aHostInterface);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(TAPFileDescriptor)) (LONG *aTAPFileDescriptor);
fe95fa9fc2a364e3d678307971cc900b89f5c94avboxsync STDMETHOD(COMSETTER(TAPFileDescriptor)) (LONG aTAPFileDescriptor);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(TAPSetupApplication)) (BSTR *aTAPSetupApplication);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMSETTER(TAPSetupApplication)) (INPTR BSTR aTAPSetupApplication);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(TAPTerminateApplication)) (BSTR *aTAPTerminateApplication);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMSETTER(TAPTerminateApplication)) (INPTR BSTR aTAPTerminateApplication);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(InternalNetwork)) (BSTR *aInternalNetwork);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMSETTER(InternalNetwork)) (INPTR BSTR aInternalNetwork);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(CableConnected)) (BOOL *aConnected);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMSETTER(CableConnected)) (BOOL aConnected);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(TraceEnabled)) (BOOL *aEnabled);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMSETTER(TraceEnabled)) (BOOL aEnabled);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMGETTER(TraceFile)) (BSTR *aTraceFile);
38856343f90103280eb83b5e697f9f618b407d83vboxsync STDMETHOD(COMSETTER(TraceFile)) (INPTR BSTR aTraceFile);
38856343f90103280eb83b5e697f9f618b407d83vboxsync // INetworkAdapter methods
38856343f90103280eb83b5e697f9f618b407d83vboxsync // public methods only for internal purposes
38856343f90103280eb83b5e697f9f618b407d83vboxsync HRESULT loadSettings (const settings::Key &aAdapterNode);
38856343f90103280eb83b5e697f9f618b407d83vboxsync HRESULT saveSettings (settings::Key &aAdapterNode);
38856343f90103280eb83b5e697f9f618b407d83vboxsync bool isModified() { AutoWriteLock alock (this); return mData.isBackedUp(); }
38856343f90103280eb83b5e697f9f618b407d83vboxsync bool isReallyModified() { AutoWriteLock alock (this); return mData.hasActualChanges(); }
void detach();
void generateMACAddress();