VirtualBox

source: vbox/trunk/src/VBox/Main/include/SystemPropertiesImpl.h@ 2602

Last change on this file since 2602 was 1721, checked in by vboxsync, 18 years ago

Implemented new 'MonitorCount' VM setting, to be used by VGA device and NT guest driver.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.0 KB
Line 
1/** @file
2 *
3 * VirtualBox COM class implementation
4 */
5
6/*
7 * Copyright (C) 2006 InnoTek Systemberatung GmbH
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License as published by the Free Software Foundation,
13 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14 * distribution. VirtualBox OSE is distributed in the hope that it will
15 * be useful, but WITHOUT ANY WARRANTY of any kind.
16 *
17 * If you received this file as part of a commercial VirtualBox
18 * distribution, then only the terms of your commercial VirtualBox
19 * license agreement apply instead of the previous paragraph.
20 */
21
22#ifndef ____H_SYSTEMPROPERTIESIMPL
23#define ____H_SYSTEMPROPERTIESIMPL
24
25#include "VirtualBoxBase.h"
26
27#include <VBox/cfgldr.h>
28
29class VirtualBox;
30
31class ATL_NO_VTABLE SystemProperties :
32 public VirtualBoxSupportErrorInfoImpl <SystemProperties, ISystemProperties>,
33 public VirtualBoxSupportTranslation <SystemProperties>,
34 public VirtualBoxBase,
35 public ISystemProperties
36{
37public:
38
39 DECLARE_NOT_AGGREGATABLE(SystemProperties)
40
41 DECLARE_PROTECT_FINAL_CONSTRUCT()
42
43 BEGIN_COM_MAP(SystemProperties)
44 COM_INTERFACE_ENTRY(ISupportErrorInfo)
45 COM_INTERFACE_ENTRY(ISystemProperties)
46 END_COM_MAP()
47
48 NS_DECL_ISUPPORTS
49
50 HRESULT FinalConstruct();
51 void FinalRelease();
52
53 // public initializer/uninitializer for internal purposes only
54 HRESULT init (VirtualBox *aParent);
55 void uninit();
56
57 // ISystemProperties properties
58 STDMETHOD(COMGETTER(MinGuestRAM)(ULONG *minRAM));
59 STDMETHOD(COMGETTER(MaxGuestRAM)(ULONG *maxRAM));
60 STDMETHOD(COMGETTER(MinGuestVRAM)(ULONG *minVRAM));
61 STDMETHOD(COMGETTER(MaxGuestVRAM)(ULONG *maxVRAM));
62 STDMETHOD(COMGETTER(MaxGuestMonitors)(ULONG *maxMonitors));
63 STDMETHOD(COMGETTER(MaxVDISize)(ULONG64 *maxVDISize));
64 STDMETHOD(COMGETTER(NetworkAdapterCount)(ULONG *count));
65 STDMETHOD(COMGETTER(MaxBootPosition)(ULONG *aMaxBootPosition));
66 STDMETHOD(COMGETTER(DefaultVDIFolder)) (BSTR *aDefaultVDIFolder);
67 STDMETHOD(COMSETTER(DefaultVDIFolder)) (INPTR BSTR aDefaultVDIFolder);
68 STDMETHOD(COMGETTER(DefaultMachineFolder)) (BSTR *aDefaultMachineFolder);
69 STDMETHOD(COMSETTER(DefaultMachineFolder)) (INPTR BSTR aDefaultMachineFolder);
70 STDMETHOD(COMGETTER(RemoteDisplayAuthLibrary)) (BSTR *aRemoteDisplayAuthLibrary);
71 STDMETHOD(COMSETTER(RemoteDisplayAuthLibrary)) (INPTR BSTR aRemoteDisplayAuthLibrary);
72 STDMETHOD(COMGETTER(HWVirtExEnabled)) (BOOL *enabled);
73 STDMETHOD(COMSETTER(HWVirtExEnabled)) (BOOL enabled);
74
75 // public methods only for internal purposes
76
77 HRESULT loadSettings (CFGNODE aGlobal);
78 HRESULT saveSettings (CFGNODE aGlobal);
79
80 /** Default VDI path (as is, not full). Not thread safe (use object lock). */
81 const Bstr &defaultVDIFolder() { return mDefaultVDIFolder; }
82 /** Default Machine path (full). Not thread safe (use object lock). */
83 const Bstr &defaultVDIFolderFull() { return mDefaultVDIFolderFull; }
84 /** Default Machine path (as is, not full). Not thread safe (use object lock). */
85 const Bstr &defaultMachineFolder() { return mDefaultMachineFolder; }
86 /** Default Machine path (full). Not thread safe (use object lock). */
87 const Bstr &defaultMachineFolderFull() { return mDefaultMachineFolderFull; }
88
89 // for VirtualBoxSupportErrorInfoImpl
90 static const wchar_t *getComponentName() { return L"SystemProperties"; }
91
92private:
93
94 HRESULT setDefaultVDIFolder (const BSTR aPath);
95 HRESULT setDefaultMachineFolder (const BSTR aPath);
96 HRESULT setRemoteDisplayAuthLibrary (const BSTR aPath);
97
98 ComObjPtr <VirtualBox, ComWeakRef> mParent;
99
100 Bstr mDefaultVDIFolder;
101 Bstr mDefaultVDIFolderFull;
102 Bstr mDefaultMachineFolder;
103 Bstr mDefaultMachineFolderFull;
104 Bstr mRemoteDisplayAuthLibrary;
105 BOOL mHWVirtExEnabled;
106};
107
108#endif // ____H_SYSTEMPROPERTIESIMPL
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette