SystemPropertiesImpl.h revision be21a31a81f769881871ef88f43eeac1a3051624
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * VirtualBox COM class implementation
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * Copyright (C) 2006-2008 Sun Microsystems, Inc.
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * available from http://www.virtualbox.org. This file is free software;
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * you can redistribute it and/or modify it under the terms of the GNU
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * General Public License (GPL) as published by the Free Software
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync * additional information or have any questions.
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync public VirtualBoxSupportErrorInfoImpl <SystemProperties, ISystemProperties>,
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync public VirtualBoxSupportTranslation <SystemProperties>,
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT (SystemProperties)
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync // public initializer/uninitializer for internal purposes only
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync // ISystemProperties properties
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(MinGuestVRAM) (ULONG *minVRAM));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(MaxGuestVRAM) (ULONG *maxVRAM));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(MaxGuestMonitors) (ULONG *maxMonitors));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(MaxVDISize) (ULONG64 *maxVDISize));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(NetworkAdapterCount) (ULONG *count));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(SerialPortCount) (ULONG *count));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(ParallelPortCount) (ULONG *count));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(MaxBootPosition) (ULONG *aMaxBootPosition));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(DefaultMachineFolder)) (BSTR *aDefaultMachineFolder);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMSETTER(DefaultMachineFolder)) (INPTR BSTR aDefaultMachineFolder);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(DefaultHardDiskFolder)) (BSTR *aDefaultHardDiskFolder);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMSETTER(DefaultHardDiskFolder)) (INPTR BSTR aDefaultHardDiskFolder);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(HardDiskFormats)) (ComSafeArrayOut (IHardDiskFormat *, aHardDiskFormats));
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(DefaultHardDiskFormat)) (BSTR *aDefaultHardDiskFolder);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMSETTER(DefaultHardDiskFormat)) (INPTR BSTR aDefaultHardDiskFolder);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(RemoteDisplayAuthLibrary)) (BSTR *aRemoteDisplayAuthLibrary);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMSETTER(RemoteDisplayAuthLibrary)) (INPTR BSTR aRemoteDisplayAuthLibrary);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(WebServiceAuthLibrary)) (BSTR *aWebServiceAuthLibrary);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMSETTER(WebServiceAuthLibrary)) (INPTR BSTR aWebServiceAuthLibrary);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(HWVirtExEnabled)) (BOOL *enabled);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMSETTER(HWVirtExEnabled)) (BOOL enabled);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMGETTER(LogHistoryCount)) (ULONG *count);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync STDMETHOD(COMSETTER(LogHistoryCount)) (ULONG count);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync // public methods only for internal purposes
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync HRESULT loadSettings (const settings::Key &aGlobal);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync /** Default Machine path (as is, not full). Not thread safe (use object lock). */
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync const Bstr &defaultMachineFolder() const { return mDefaultMachineFolder; }
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync /** Default Machine path (full). Not thread safe (use object lock). */
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync const Bstr &defaultMachineFolderFull() const { return mDefaultMachineFolderFull; }
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync /** Default hard disk path (as is, not full). Not thread safe (use object lock). */
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync const Bstr &defaultHardDiskFolder() const { return mDefaultHardDiskFolder; }
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync /** Default hard disk path (full). Not thread safe (use object lock). */
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync const Bstr &defaultHardDiskFolderFull() const { return mDefaultHardDiskFolderFull; }
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync /** Default hard disk format. Not thread safe (use object lock). */
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync const Bstr &defaultHardDiskFormat() const { return mDefaultHardDiskFormat; }
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync // for VirtualBoxSupportErrorInfoImpl
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync static const wchar_t *getComponentName() { return L"SystemProperties"; }
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync typedef std::list <ComObjPtr <HardDiskFormat> > HardDiskFormatList;
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync HRESULT setDefaultMachineFolder (const BSTR aPath);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync HRESULT setDefaultHardDiskFolder (const BSTR aPath);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync HRESULT setDefaultHardDiskFormat (const BSTR aFormat);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync HRESULT setRemoteDisplayAuthLibrary (const BSTR aPath);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync HRESULT setWebServiceAuthLibrary (const BSTR aPath);
7da9e7e719adde3baba3f6fa1d0bcfb170cf9911vboxsync#endif // ____H_SYSTEMPROPERTIESIMPL