PCIDeviceAttachmentImpl.h revision f783894faad9f2f63d72868a3d1ea06799419a0e
1054N/A/* $Id$ */
1054N/A
1054N/A/** @file
1054N/A *
1054N/A * PCI attachment information implmentation.
1054N/A */
1054N/A
1054N/A/*
1054N/A * Copyright (C) 2010-2012 Oracle Corporation
1054N/A *
1054N/A * This file is part of VirtualBox Open Source Edition (OSE), as
1054N/A * available from http://www.virtualbox.org. This file is free software;
1054N/A * you can redistribute it and/or modify it under the terms of the GNU
1054N/A * General Public License (GPL) as published by the Free Software
1054N/A * Foundation, in version 2 as it comes in the "COPYING" file of the
1054N/A * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
1054N/A * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1054N/A */
1054N/A
1054N/A#ifndef ____H_PCIDEVICEATTACHMENTIMPL
1054N/A#define ____H_PCIDEVICEATTACHMENTIMPL
1054N/A
1054N/A#include "PCIDeviceAttachmentWrap.h"
1054N/A#include <VBox/settings.h>
3215N/A
1054N/Aclass ATL_NO_VTABLE PCIDeviceAttachment :
1054N/A public PCIDeviceAttachmentWrap
1054N/A{
1054N/Apublic:
2086N/A
2086N/A DECLARE_EMPTY_CTOR_DTOR(PCIDeviceAttachment)
1054N/A
1054N/A // public initializer/uninitializer for internal purposes only
1054N/A HRESULT init(IMachine * aParent,
1054N/A const Bstr &aName,
1054N/A LONG aHostAddess,
1054N/A LONG aGuestAddress,
1054N/A BOOL fPhysical);
1054N/A
1054N/A void uninit();
1054N/A
2086N/A // settings
1054N/A HRESULT i_loadSettings(IMachine * aParent,
1317N/A const settings::HostPCIDeviceAttachment& aHpda);
1317N/A HRESULT i_saveSettings(settings::HostPCIDeviceAttachment &data);
1317N/A
1317N/A HRESULT FinalConstruct();
1317N/A void FinalRelease();
1317N/A
1317N/Aprivate:
1317N/A
1708N/A // wrapped IPCIDeviceAttachment properties
1708N/A HRESULT getName(com::Utf8Str &aName);
1708N/A HRESULT getIsPhysicalDevice(BOOL *aIsPhysicalDevice);
1708N/A HRESULT getHostAddress(LONG *aHostAddress);
1708N/A HRESULT getGuestAddress(LONG *aGuestAddress);
1708N/A
1708N/A struct Data;
4031N/A Data* m;
4031N/A};
4031N/A
4031N/A#endif // ____H_PCIDEVICEATTACHMENTIMPL
4031N/A