SystemPropertiesImpl.h revision 9ff5b937cfc7a0832f0d8f52ab642193c2a0670a
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * VirtualBox COM class implementation
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright (C) 2006-2010 Oracle Corporation
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * This file is part of VirtualBox Open Source Edition (OSE), as
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * available from http://www.virtualbox.org. This file is free software;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * you can redistribute it and/or modify it under the terms of the GNU
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * General Public License (GPL) as published by the Free Software
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Foundation, in version 2 as it comes in the "COPYING" file of the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(SystemProperties, ISystemProperties)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster COM_INTERFACE_ENTRY2(IDispatch, ISystemProperties)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster // public initializer/uninitializer for internal purposes only
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster // ISystemProperties properties
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(MinGuestRAM))(ULONG *minRAM);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(COMGETTER(MaxGuestRAM))(ULONG *maxRAM);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(COMGETTER(MinGuestVRAM))(ULONG *minVRAM);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(COMGETTER(MaxGuestVRAM))(ULONG *maxVRAM);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(COMGETTER(MinGuestCPUCount))(ULONG *minCPUCount);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(MaxGuestCPUCount))(ULONG *maxCPUCount);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(MaxGuestMonitors))(ULONG *maxMonitors);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(InfoVDSize))(LONG64 *infoVDSize);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(NetworkAdapterCount))(ULONG *count);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(SerialPortCount))(ULONG *count);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(ParallelPortCount))(ULONG *count);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(MaxBootPosition))(ULONG *aMaxBootPosition);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(COMGETTER(DefaultMachineFolder))(BSTR *aDefaultMachineFolder);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(DefaultMachineFolder))(IN_BSTR aDefaultMachineFolder);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(MediumFormats))(ComSafeArrayOut(IMediumFormat *, aMediumFormats));
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(DefaultHardDiskFormat))(BSTR *aDefaultHardDiskFormat);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(DefaultHardDiskFormat))(IN_BSTR aDefaultHardDiskFormat);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(FreeDiskSpaceWarning))(LONG64 *aFreeDiskSpace);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(COMSETTER(FreeDiskSpaceWarning))(LONG64 aFreeDiskSpace);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(COMGETTER(FreeDiskSpacePercentWarning))(ULONG *aFreeDiskSpacePercent);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(FreeDiskSpacePercentWarning))(ULONG aFreeDiskSpacePercent);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(FreeDiskSpaceError))(LONG64 *aFreeDiskSpace);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(FreeDiskSpaceError))(LONG64 aFreeDiskSpace);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(FreeDiskSpacePercentError))(ULONG *aFreeDiskSpacePercent);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(FreeDiskSpacePercentError))(ULONG aFreeDiskSpacePercent);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(RemoteDisplayAuthLibrary))(BSTR *aRemoteDisplayAuthLibrary);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(RemoteDisplayAuthLibrary))(IN_BSTR aRemoteDisplayAuthLibrary);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(WebServiceAuthLibrary))(BSTR *aWebServiceAuthLibrary);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(WebServiceAuthLibrary))(IN_BSTR aWebServiceAuthLibrary);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(LogHistoryCount))(ULONG *count);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMSETTER(LogHistoryCount))(ULONG count);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(COMGETTER(DefaultAudioDriver))(AudioDriverType_T *aAudioDriver);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(GetMaxDevicesPerPortForStorageBus)(StorageBus_T aBus, ULONG *aMaxDevicesPerPort);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(GetMinPortCountForStorageBus)(StorageBus_T aBus, ULONG *aMinPortCount);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(GetMaxPortCountForStorageBus)(StorageBus_T aBus, ULONG *aMaxPortCount);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(GetMaxInstancesOfStorageBus)(StorageBus_T aBus, ULONG *aMaxInstances);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster STDMETHOD(GetDeviceTypesForStorageBus)(StorageBus_T aBus, ComSafeArrayOut(DeviceType_T, aDeviceTypes));
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden STDMETHOD(GetDefaultIoCacheSettingForStorageController)(StorageControllerType_T aControllerType, BOOL *aEnabled);
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden // public methods only for internal purposes
ce4d3fddc8fe2eddd68a20af9570b3cc63ece5abNeil Madden HRESULT loadSettings(const settings::SystemProperties &data);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT saveSettings(settings::SystemProperties &data);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster ComObjPtr<MediumFormat> mediumFormat(const Utf8Str &aFormat);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster // public methods for internal purposes only
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster // (ensure there is a caller and a read lock before calling them!)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef std::list<ComObjPtr<MediumFormat> > MediumFormatList;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT setDefaultMachineFolder(const Utf8Str &aPath);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT setDefaultHardDiskFormat(const Utf8Str &aFormat);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT setRemoteDisplayAuthLibrary(const Utf8Str &aPath);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT setWebServiceAuthLibrary(const Utf8Str &aPath);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster#endif // ____H_SYSTEMPROPERTIESIMPL
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/* vi: set tabstop=4 shiftwidth=4 expandtab: */