Changeset 26440 in vbox
- Timestamp:
- Feb 11, 2010 4:18:31 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
-
include/VBox/settings.h (modified) (1 diff)
-
src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp (modified) (1 diff)
-
src/VBox/Main/Global.cpp (modified) (1 diff)
-
src/VBox/Main/GuestOSTypeImpl.cpp (modified) (1 diff)
-
src/VBox/Main/MachineImpl.cpp (modified) (3 diffs)
-
src/VBox/Main/idl/VirtualBox.xidl (modified) (6 diffs)
-
src/VBox/Main/include/Global.h (modified) (1 diff)
-
src/VBox/Main/include/GuestOSTypeImpl.h (modified) (1 diff)
-
src/VBox/Main/include/MachineImpl.h (modified) (2 diffs)
-
src/VBox/Main/xml/Settings.cpp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/settings.h
r26156 r26440 578 578 fAccelerate2DVideo; // requires settings version 1.8 (VirtualBox 3.1) 579 579 FirmwareType_T firmwareType; // requires settings version 1.9 (VirtualBox 3.1) 580 PointingHidType_T pointingHidType; // requires settings version 1.10 (VirtualBox 3.2) 581 KeyboardHidType_T keyboardHidType; // requires settings version 1.10 (VirtualBox 3.2) 580 582 581 583 VRDPSettings vrdpSettings; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp
r26401 r26440 674 674 m_Machine.SetFirmwareType(fwType); 675 675 676 // Set recommended human interface device types 677 if (type.GetRecommendedUsbHid()) 678 { 679 m_Machine.SetKeyboardHidType(KKeyboardHidType_USBKeyboard); 680 m_Machine.SetPointingHidType(KPointingHidType_USBMouse); 681 } 682 676 683 /* Register the VM prior to attaching hard disks */ 677 684 vbox.RegisterMachine(m_Machine); -
trunk/src/VBox/Main/Global.cpp
r26392 r26440 165 165 VBOXOSTYPE_QNX, VBOXOSHINT_HWVIRTEX, 512, 4, 4 * _1K, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4 }, 166 166 { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS, "Mac OS X", 167 VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE , 1024, 4, 20 * _1K, NetworkAdapterType_I82543GC, 0, StorageControllerType_ICH6 },167 VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_USBHID, 1024, 4, 20 * _1K, NetworkAdapterType_I82543GC, 0, StorageControllerType_ICH6 }, 168 168 { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS_64, "Mac OS X (64 bit)", 169 VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT , 1024, 4, 20 * _1K, NetworkAdapterType_I82543GC, 0, StorageControllerType_ICH6 },169 VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT | VBOXOSHINT_USBHID, 1024, 4, 20 * _1K, NetworkAdapterType_I82543GC, 0, StorageControllerType_ICH6 }, 170 170 }; 171 171 -
trunk/src/VBox/Main/GuestOSTypeImpl.cpp
r26389 r26440 316 316 } 317 317 318 STDMETHODIMP GuestOSType::COMGETTER(RecommendedUsbHid) (BOOL *aRecommendedUsbHid) 319 { 320 CheckComArgOutPointerValid(aRecommendedUsbHid); 321 322 AutoCaller autoCaller(this); 323 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 324 325 /* HID type is constant during life time, no need to lock */ 326 *aRecommendedUsbHid = !!(mOSHint & VBOXOSHINT_USBHID); 327 328 return S_OK; 329 } 318 330 319 331 /* vi: set tabstop=4 shiftwidth=4 expandtab: */ -
trunk/src/VBox/Main/MachineImpl.cpp
r26426 r26440 831 831 mHWData.backup(); 832 832 mHWData->mFirmwareType = aFirmwareType; 833 834 return S_OK; 835 } 836 837 STDMETHODIMP Machine::COMGETTER(KeyboardHidType)(KeyboardHidType_T *aKeyboardHidType) 838 { 839 CheckComArgOutPointerValid(aKeyboardHidType); 840 841 AutoCaller autoCaller(this); 842 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 843 844 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 845 846 *aKeyboardHidType = mHWData->mKeyboardHidType; 847 848 return S_OK; 849 } 850 851 STDMETHODIMP Machine::COMSETTER(KeyboardHidType)(KeyboardHidType_T aKeyboardHidType) 852 { 853 AutoCaller autoCaller(this); 854 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 855 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 856 857 int rc = checkStateDependency(MutableStateDep); 858 if (FAILED(rc)) return rc; 859 860 setModified(IsModified_MachineData); 861 mHWData.backup(); 862 mHWData->mKeyboardHidType = aKeyboardHidType; 863 864 return S_OK; 865 } 866 867 STDMETHODIMP Machine::COMGETTER(PointingHidType)(PointingHidType_T *aPointingHidType) 868 { 869 CheckComArgOutPointerValid(aPointingHidType); 870 871 AutoCaller autoCaller(this); 872 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 873 874 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 875 876 *aPointingHidType = mHWData->mPointingHidType; 877 878 return S_OK; 879 } 880 881 STDMETHODIMP Machine::COMSETTER(PointingHidType)(PointingHidType_T aPointingHidType) 882 { 883 AutoCaller autoCaller(this); 884 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 885 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 886 887 int rc = checkStateDependency(MutableStateDep); 888 if (FAILED(rc)) return rc; 889 890 setModified(IsModified_MachineData); 891 mHWData.backup(); 892 mHWData->mPointingHidType = aPointingHidType; 833 893 834 894 return S_OK; … … 6194 6254 mHWData->mAccelerate2DVideoEnabled = data.fAccelerate2DVideo; 6195 6255 mHWData->mFirmwareType = data.firmwareType; 6256 mHWData->mPointingHidType = data.pointingHidType; 6257 mHWData->mKeyboardHidType = data.keyboardHidType; 6196 6258 6197 6259 #ifdef VBOX_WITH_VRDP … … 7204 7266 // firmware 7205 7267 data.firmwareType = mHWData->mFirmwareType; 7268 7269 // HID 7270 data.pointingHidType = mHWData->mPointingHidType; 7271 data.keyboardHidType = mHWData->mKeyboardHidType; 7206 7272 7207 7273 // boot order -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r26389 r26440 1105 1105 name="FirmwareType" 1106 1106 uuid="b903f264-c230-483e-ac74-2b37ce60d371" 1107 >1107 > 1108 1108 <desc> 1109 1109 Firmware type. … … 1125 1125 </const> 1126 1126 </enum> 1127 1128 <enum 1129 name="PointingHidType" 1130 uuid="0d3c17a2-821a-4b2e-ae41-890c6c60aa97" 1131 > 1132 <desc> 1133 Type of pointing device. 1134 </desc> 1135 <const name="None" value="1"> 1136 <desc>No mouse.</desc> 1137 </const> 1138 <const name="PS2Mouse" value="2"> 1139 <desc>PS/2 auxillary device, a.k.a. mouse.</desc> 1140 </const> 1141 <const name="USBMouse" value="3"> 1142 <desc>USB mouse (relative pointer).</desc> 1143 </const> 1144 <const name="USBTablet" value="4"> 1145 <desc>USB tablet (absolute pointer).</desc> 1146 </const> 1147 <const name="ComboMouse" value="5"> 1148 <desc>Combined device, working as PS/2 or USB mouse, depending on guest behavior. 1149 Using of such device can have negative performance implications. </desc> 1150 </const> 1151 </enum> 1152 1153 <enum 1154 name="KeyboardHidType" 1155 uuid="5a5b0996-3a3e-44bb-9019-56979812cbcc" 1156 > 1157 <desc> 1158 Type of keyboard device. 1159 </desc> 1160 <const name="None" value="1"> 1161 <desc>No keyboard.</desc> 1162 </const> 1163 <const name="PS2Keyboard" value="2"> 1164 <desc>PS/2 keyboard.</desc> 1165 </const> 1166 <const name="USBKeyboard" value="3"> 1167 <desc>USB keyboard.</desc> 1168 </const> 1169 <const name="ComboKeyboard" value="4"> 1170 <desc>Combined device, working as PS/2 or USB keyboard, depending on guest behavior. 1171 Using of such device can have negative performance implications. </desc> 1172 </const> 1173 </enum> 1174 1175 1127 1176 1128 1177 <!-- … … 4178 4227 <interface 4179 4228 name="IMachine" extends="$unknown" 4180 uuid=" 6d7f40fa-77be-4366-a053-f58e81453a6a"4229 uuid="91470ab5-8457-48ab-8a3f-a2e68d8ae923" 4181 4230 wsmap="managed" 4182 4231 > … … 4417 4466 </attribute> 4418 4467 4419 <attribute name="firmwareType" type="FirmwareType">4468 <attribute name="firmwareType" type="FirmwareType"> 4420 4469 <desc>Type of firmware (such as legacy BIOS or EFI), used for initial 4421 4470 bootstrap in this VM.</desc> 4471 </attribute> 4472 4473 <attribute name="pointingHidType" type="PointingHidType"> 4474 <desc>Type of pointing HID (such as mouse or tablet), used in this VM.</desc> 4475 </attribute> 4476 4477 <attribute name="keyboardHidType" type="KeyboardHidType"> 4478 <desc>Type of keyboard HID, used in this VM.</desc> 4422 4479 </attribute> 4423 4480 … … 8207 8264 <interface 8208 8265 name="IGuestOSType" extends="$unknown" 8209 uuid=" a44b7bab-bcfd-407b-8b4a-49877deb9d2d"8266 uuid="1498bf9c-c662-4cee-8f6f-59ec933fa892" 8210 8267 wsmap="struct" 8211 8268 > … … 8267 8324 <attribute name="recommendedFirmware" type="FirmwareType" readonly="yes"> 8268 8325 <desc>Recommended firmware type.</desc> 8326 </attribute> 8327 8328 <attribute name="recommendedUsbHid" type="boolean" readonly="yes"> 8329 <desc>Returns @c true if using USB Human Interface Devices, such as keyboard and mouse recommended.</desc> 8269 8330 </attribute> 8270 8331 -
trunk/src/VBox/Main/include/Global.h
r26389 r26440 41 41 #define VBOXOSHINT_EFI RT_BIT(3) 42 42 #define VBOXOSHINT_PAE RT_BIT(4) 43 #define VBOXOSHINT_USBHID RT_BIT(5) 44 43 45 44 46 /** -
trunk/src/VBox/Main/include/GuestOSTypeImpl.h
r26389 r26440 77 77 STDMETHOD(COMGETTER(RecommendedStorageController)) (StorageControllerType_T *aStorageControllerType); 78 78 STDMETHOD(COMGETTER(RecommendedPae)) (BOOL *aRecommendedExtHw); 79 STDMETHOD(COMGETTER(RecommendedUsbHid)) (BOOL *aRecommendedUsbHid); 79 80 80 81 // public methods only for internal purposes -
trunk/src/VBox/Main/include/MachineImpl.h
r26323 r26440 265 265 ~HWData(); 266 266 267 Bstr mHWVersion;268 Guid mHardwareUUID; /**< If Null, use mData.mUuid. */269 ULONG mMemorySize;270 ULONG mMemoryBalloonSize;271 ULONG mStatisticsUpdateInterval;272 ULONG mVRAMSize;273 ULONG mMonitorCount;274 BOOL mHWVirtExEnabled;275 BOOL mHWVirtExExclusive;276 BOOL mHWVirtExNestedPagingEnabled;277 BOOL mHWVirtExVPIDEnabled;278 BOOL mAccelerate2DVideoEnabled;279 BOOL mPAEEnabled;280 BOOL mSyntheticCpu;281 ULONG mCPUCount;282 BOOL mCPUHotPlugEnabled;283 BOOL mAccelerate3DEnabled;284 285 BOOL mCPUAttached[SchemaDefs::MaxCPUCount];286 287 settings::CpuIdLeaf mCpuIdStdLeafs[10];288 settings::CpuIdLeaf mCpuIdExtLeafs[10];289 290 DeviceType_T mBootOrder[SchemaDefs::MaxBootPosition];267 Bstr mHWVersion; 268 Guid mHardwareUUID; /**< If Null, use mData.mUuid. */ 269 ULONG mMemorySize; 270 ULONG mMemoryBalloonSize; 271 ULONG mStatisticsUpdateInterval; 272 ULONG mVRAMSize; 273 ULONG mMonitorCount; 274 BOOL mHWVirtExEnabled; 275 BOOL mHWVirtExExclusive; 276 BOOL mHWVirtExNestedPagingEnabled; 277 BOOL mHWVirtExVPIDEnabled; 278 BOOL mAccelerate2DVideoEnabled; 279 BOOL mPAEEnabled; 280 BOOL mSyntheticCpu; 281 ULONG mCPUCount; 282 BOOL mCPUHotPlugEnabled; 283 BOOL mAccelerate3DEnabled; 284 285 BOOL mCPUAttached[SchemaDefs::MaxCPUCount]; 286 287 settings::CpuIdLeaf mCpuIdStdLeafs[10]; 288 settings::CpuIdLeaf mCpuIdExtLeafs[10]; 289 290 DeviceType_T mBootOrder[SchemaDefs::MaxBootPosition]; 291 291 292 292 typedef std::list< ComObjPtr<SharedFolder> > SharedFolderList; 293 SharedFolderList mSharedFolders;294 295 ClipboardMode_T mClipboardMode;293 SharedFolderList mSharedFolders; 294 295 ClipboardMode_T mClipboardMode; 296 296 297 297 typedef std::list<GuestProperty> GuestPropertyList; 298 GuestPropertyList mGuestProperties; 299 BOOL mPropertyServiceActive; 300 Utf8Str mGuestPropertyNotificationPatterns; 301 302 FirmwareType_T mFirmwareType; 298 GuestPropertyList mGuestProperties; 299 BOOL mPropertyServiceActive; 300 Utf8Str mGuestPropertyNotificationPatterns; 301 302 FirmwareType_T mFirmwareType; 303 KeyboardHidType_T mKeyboardHidType; 304 PointingHidType_T mPointingHidType; 303 305 }; 304 306 … … 472 474 STDMETHOD(COMGETTER(FirmwareType)) (FirmwareType_T *aFirmware); 473 475 STDMETHOD(COMSETTER(FirmwareType)) (FirmwareType_T aFirmware); 476 STDMETHOD(COMGETTER(KeyboardHidType)) (KeyboardHidType_T *aKeyboardHidType); 477 STDMETHOD(COMSETTER(KeyboardHidType)) (KeyboardHidType_T aKeyboardHidType); 478 STDMETHOD(COMGETTER(PointingHidType)) (PointingHidType_T *aPointingHidType); 479 STDMETHOD(COMSETTER(PointingHidType)) (PointingHidType_T aPointingHidType); 474 480 475 481 STDMETHOD(QuerySavedThumbnailSize)(ULONG *aSize, ULONG *aWidth, ULONG *aHeight); -
trunk/src/VBox/Main/xml/Settings.cpp
r26424 r26440 1472 1472 fAccelerate2DVideo(false), 1473 1473 firmwareType(FirmwareType_BIOS), 1474 pointingHidType(PointingHidType_PS2Mouse), 1475 keyboardHidType(KeyboardHidType_PS2Keyboard), 1474 1476 clipboardMode(ClipboardMode_Bidirectional), 1475 1477 ulMemoryBalloonSize(0), … … 1516 1518 && (fAccelerate2DVideo == h.fAccelerate2DVideo) 1517 1519 && (firmwareType == h.firmwareType) 1520 && (pointingHidType == h.pointingHidType) 1521 && (keyboardHidType == h.keyboardHidType) 1518 1522 && (vrdpSettings == h.vrdpSettings) 1519 1523 && (biosSettings == h.biosSettings) … … 2047 2051 throw ConfigFileError(this, 2048 2052 pelmHwChild, 2049 N_("Invalid value '%s' in Boot/Firmware/@type"),2053 N_("Invalid value '%s' in Firmware/@type"), 2050 2054 strFirmwareType.c_str()); 2055 } 2056 } 2057 else if (pelmHwChild->nameEquals("HID")) 2058 { 2059 Utf8Str strHidType; 2060 if (pelmHwChild->getAttributeValue("Keyboard", strHidType)) 2061 { 2062 if ( (strHidType == "None") 2063 ) 2064 hw.keyboardHidType = KeyboardHidType_None; 2065 else if ( (strHidType == "USBKeyboard") 2066 ) 2067 hw.keyboardHidType = KeyboardHidType_USBKeyboard; 2068 else if ( (strHidType == "PS2Keyboard") 2069 ) 2070 hw.keyboardHidType = KeyboardHidType_PS2Keyboard; 2071 else if ( (strHidType == "ComboKeyboard") 2072 ) 2073 hw.keyboardHidType = KeyboardHidType_ComboKeyboard; 2074 else 2075 throw ConfigFileError(this, 2076 pelmHwChild, 2077 N_("Invalid value '%s' in HID/Keyboard/@type"), 2078 strHidType.c_str()); 2079 } 2080 if (pelmHwChild->getAttributeValue("Pointing", strHidType)) 2081 { 2082 if ( (strHidType == "None") 2083 ) 2084 hw.pointingHidType = PointingHidType_None; 2085 else if ( (strHidType == "USBMouse") 2086 ) 2087 hw.pointingHidType = PointingHidType_USBMouse; 2088 else if ( (strHidType == "UsbTablet") 2089 ) 2090 hw.pointingHidType = PointingHidType_USBTablet; 2091 else if ( (strHidType == "PS2Mouse") 2092 ) 2093 hw.pointingHidType = PointingHidType_PS2Mouse; 2094 else if ( (strHidType == "ComboMouse") 2095 ) 2096 hw.pointingHidType = PointingHidType_ComboMouse; 2097 else 2098 throw ConfigFileError(this, 2099 pelmHwChild, 2100 N_("Invalid value '%s' in HID/Pointing/@type"), 2101 strHidType.c_str()); 2051 2102 } 2052 2103 } … … 2917 2968 } 2918 2969 2970 if ( (m->sv >= SettingsVersion_v1_10) 2971 ) 2972 { 2973 xml::ElementNode *pelmHid = pelmHardware->createChild("HID"); 2974 const char *pcszHid; 2975 2976 switch (hw.pointingHidType) 2977 { 2978 case PointingHidType_USBMouse: pcszHid = "USBMouse"; break; 2979 case PointingHidType_USBTablet: pcszHid = "USBTablet"; break; 2980 case PointingHidType_PS2Mouse: pcszHid = "PS2Mouse"; break; 2981 case PointingHidType_ComboMouse: pcszHid = "ComboMouse"; break; 2982 case PointingHidType_None: pcszHid = "None"; break; 2983 default: Assert(false); pcszHid = "PS2Mouse"; break; 2984 } 2985 pelmHid->setAttribute("Pointing", pcszHid); 2986 2987 switch (hw.keyboardHidType) 2988 { 2989 case KeyboardHidType_USBKeyboard: pcszHid = "USBKeyboard"; break; 2990 case KeyboardHidType_PS2Keyboard: pcszHid = "PS2Keyboard"; break; 2991 case KeyboardHidType_ComboKeyboard: pcszHid = "ComboKeyboard"; break; 2992 case KeyboardHidType_None: pcszHid = "None"; break; 2993 default: Assert(false); pcszHid = "PS2Keyboard"; break; 2994 } 2995 pelmHid->setAttribute("Keyboard", pcszHid); 2996 } 2997 2919 2998 xml::ElementNode *pelmBoot = pelmHardware->createChild("Boot"); 2920 2999 for (BootOrderMap::const_iterator it = hw.mapBootOrder.begin(); … … 3489 3568 && ( fRTCUseUTC 3490 3569 || hardwareMachine.fCpuHotPlug 3570 || hardwareMachine.pointingHidType != PointingHidType_PS2Mouse 3571 || hardwareMachine.keyboardHidType != KeyboardHidType_PS2Keyboard 3491 3572 ) 3492 3573 )
Note:
See TracChangeset
for help on using the changeset viewer.

