StorageControllerImpl.h revision e07acfb7f2dbb8bb40804024c79fd3139bdb3f24
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * VBox StorageController COM Class declaration.
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync * Copyright (C) 2008 Oracle Corporation
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * available from http://www.virtualbox.org. This file is free software;
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * you can redistribute it and/or modify it under the terms of the GNU
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * General Public License (GPL) as published by the Free Software
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
f32de6c198a491c28ace2b4c53f8d04a79fd6d69vboxsync public VirtualBoxSupportTranslation<StorageController>,
e07acfb7f2dbb8bb40804024c79fd3139bdb3f24vboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(StorageController, IStorageController)
57b49c1557a310ee615bc0ee79dd2a2e92319a1bvboxsync COM_INTERFACE_ENTRY2 (IDispatch, IStorageController)
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync // public initializer/uninitializer for internal purposes only
fe06619ae576367ff3568e6abd99fb8ad28cc73avboxsync bool aReshare = false);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync // IStorageController properties
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(COMGETTER(ControllerType)) (StorageControllerType_T *aControllerType);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(COMSETTER(ControllerType)) (StorageControllerType_T aControllerType);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(COMGETTER(MaxDevicesPerPortCount)) (ULONG *aMaxDevices);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(COMGETTER(MinPortCount)) (ULONG *aMinPortCount);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(COMGETTER(MaxPortCount)) (ULONG *aMaxPortCount);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(COMGETTER(PortCount)) (ULONG *aPortCount);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(COMSETTER(PortCount)) (ULONG aPortCount);
aceec09dd145a4d6fb14f2ea75a459cc88b334abvboxsync STDMETHOD(COMGETTER(UseHostIOCache)) (BOOL *fUseHostIOCache);
aceec09dd145a4d6fb14f2ea75a459cc88b334abvboxsync STDMETHOD(COMSETTER(UseHostIOCache)) (BOOL fUseHostIOCache);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync // StorageController methods
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(GetIDEEmulationPort) (LONG DevicePosition, LONG *aPortNumber);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync STDMETHOD(SetIDEEmulationPort) (LONG DevicePosition, LONG aPortNumber);
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync // public methods only for internal purposes
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync // public methods for internal purposes only
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync // (ensure there is a caller and a read lock before calling them!)
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync /** @note this doesn't require a read lock since mParent is constant. */
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync#endif //!____H_STORAGECONTROLLERIMPL
7189dad3705d42e9874af1e1c8a8c7e5cceee9f7vboxsync/* vi: set tabstop=4 shiftwidth=4 expandtab: */