- Timestamp:
- Feb 1, 2013 6:28:53 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 83539
- Location:
- trunk/src/VBox
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp
r44498 r44503 271 271 COMGETTER(Id)(description.asOutParam())); 272 272 273 ULONG caps; 273 ULONG caps = 0; 274 com::SafeArray <MediumFormatCapabilities_T> mediumFormatCap; 274 275 CHECK_ERROR(mediumFormats[i], 275 COMGETTER(Capabilities)(&caps)); 276 COMGETTER(Capabilities)(ComSafeArrayAsOutParam(mediumFormatCap))); 277 for (ULONG j = 0; j < mediumFormatCap.size(); j++) 278 caps |= mediumFormatCap[j]; 279 276 280 277 281 RTPrintf("Backend %u: id='%ls' description='%ls' capabilities=%#06x extensions='", -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
r44453 r44503 1459 1459 .arg(aMedium.location()); 1460 1460 1461 qulonglong caps = 0; 1462 QVector<KMediumFormatCapabilities> capabilities; 1463 capabilities = aMedium.medium().GetMediumFormat().GetCapabilities(); 1464 for (int i = 0; i < capabilities.size(); i++) 1465 caps |= capabilities[i]; 1466 1461 1467 if (aMedium.type() == UIMediumType_HardDisk && 1462 aMedium.medium().GetMediumFormat().GetCapabilities()& MediumFormatCapabilities_File)1468 caps & MediumFormatCapabilities_File) 1463 1469 { 1464 1470 if (aMedium.state() == KMediumState_Inaccessible) -
trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
r43424 r44503 1142 1142 * will give a corresponding hint. Therefore, once the code is 1143 1143 * changed below, the hint should be re-checked for validity. */ 1144 1145 qulonglong caps = 0; 1146 QVector<KMediumFormatCapabilities> capabilities; 1147 capabilities = item->medium().medium().GetMediumFormat().GetCapabilities(); 1148 for (int i = 0; i < capabilities.size(); i++) 1149 caps |= capabilities[i]; 1150 1144 1151 if (item->state() != KMediumState_Inaccessible && 1145 item->medium().medium().GetMediumFormat().GetCapabilities()& MediumFormatCapabilities_File)1152 caps & MediumFormatCapabilities_File) 1146 1153 { 1147 1154 int rc = msgCenter(). -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic2.cpp
r41587 r44503 39 39 { 40 40 /* Check that medium format supports creation: */ 41 ULONG uFormatCapabilities = medFormat.GetCapabilities(); 41 //ULONG uFormatCapabilities = medFormat.GetCapabilities(); 42 ULONG uFormatCapabilities = 0; 43 QVector<KMediumFormatCapabilities> capabilities; 44 capabilities = medFormat.GetCapabilities(); 45 for (ULONG i = 0; i < capabilities.size(); i++) 46 uFormatCapabilities |= capabilities[i]; 47 42 48 if (!(uFormatCapabilities & MediumFormatCapabilities_CreateFixed || 43 49 uFormatCapabilities & MediumFormatCapabilities_CreateDynamic)) … … 149 155 /* Show variant page only if there is something to show: */ 150 156 CMediumFormat medFormat = mediumFormat(); 151 ULONG uCapabilities = medFormat.GetCapabilities(); 157 // ULONG uCapabilities = medFormat.GetCapabilities(); 158 ULONG uCapabilities = 0; 159 QVector<KMediumFormatCapabilities> capabilities; 160 capabilities = medFormat.GetCapabilities(); 161 for (ULONG i = 0; i < capabilities.size(); i++) 162 uCapabilities |= capabilities[i]; 163 152 164 int cTest = 0; 153 165 if (uCapabilities & KMediumFormatCapabilities_CreateDynamic) -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic3.cpp
r41587 r44503 145 145 /* Setup visibility: */ 146 146 CMediumFormat mediumFormat = field("mediumFormat").value<CMediumFormat>(); 147 ULONG uCapabilities = mediumFormat.GetCapabilities(); 147 ULONG uCapabilities = 0; 148 QVector<KMediumFormatCapabilities> capabilities; 149 capabilities = mediumFormat.GetCapabilities(); 150 for (ULONG i = 0; i < capabilities.size(); i++) 151 uCapabilities |= capabilities[i]; 152 148 153 bool fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; 149 154 bool fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp
r41615 r44503 187 187 188 188 /* Enable/disable widgets: */ 189 ULONG uCapabilities = mf.GetCapabilities(); 189 ULONG uCapabilities = 0; 190 QVector<KMediumFormatCapabilities> capabilities; 191 capabilities = mf.GetCapabilities(); 192 for (ULONG i = 0; i < capabilities.size(); i++) 193 uCapabilities |= capabilities[i]; 194 190 195 bool fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; 191 196 bool fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp
r41587 r44503 39 39 { 40 40 /* Check that medium format supports creation: */ 41 ULONG uFormatCapabilities = medFormat.GetCapabilities(); 41 ULONG uFormatCapabilities = 0; 42 QVector<KMediumFormatCapabilities> capabilities; 43 capabilities = medFormat.GetCapabilities(); 44 for (ULONG i = 0; i < capabilities.size(); i++) 45 uFormatCapabilities |= capabilities[i]; 46 42 47 if (!(uFormatCapabilities & MediumFormatCapabilities_CreateFixed || 43 48 uFormatCapabilities & MediumFormatCapabilities_CreateDynamic)) … … 149 154 /* Show variant page only if there is something to show: */ 150 155 CMediumFormat mf = mediumFormat(); 151 ULONG uCapabilities = mf.GetCapabilities(); 156 ULONG uCapabilities = 0; 157 QVector<KMediumFormatCapabilities> capabilities; 158 capabilities = mf.GetCapabilities(); 159 for (ULONG i = 0; i < capabilities.size(); i++) 160 uCapabilities |= capabilities[i]; 161 152 162 int cTest = 0; 153 163 if (uCapabilities & KMediumFormatCapabilities_CreateDynamic) -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic2.cpp
r41587 r44503 145 145 /* Setup visibility: */ 146 146 CMediumFormat mediumFormat = field("mediumFormat").value<CMediumFormat>(); 147 ULONG uCapabilities = mediumFormat.GetCapabilities(); 147 ULONG uCapabilities = 0; 148 QVector<KMediumFormatCapabilities> capabilities; 149 capabilities = mediumFormat.GetCapabilities(); 150 for (ULONG i = 0; i < capabilities.size(); i++) 151 uCapabilities |= capabilities[i]; 152 148 153 bool fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; 149 154 bool fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; -
trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp
r41833 r44503 189 189 190 190 /* Enable/disable widgets: */ 191 ULONG uCapabilities = mf.GetCapabilities(); 191 ULONG uCapabilities = 0; 192 QVector<KMediumFormatCapabilities> capabilities; 193 capabilities = mf.GetCapabilities(); 194 for (ULONG i = 0; i < capabilities.size(); i++) 195 uCapabilities |= capabilities[i]; 196 192 197 bool fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; 193 198 bool fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r44409 r44503 13412 13412 <interface 13413 13413 name="IMediumFormat" extends="$unknown" 13414 uuid=" 9bd5b655-ea47-4637-99f3-aad0948be35b"13414 uuid="6238e1cf-a17d-4ec1-8172-418bfb22b93a" 13415 13415 wsmap="managed" 13416 13416 > … … 13460 13460 </attribute> 13461 13461 13462 <attribute name="capabilities" type=" unsigned long" readonly="yes">13462 <attribute name="capabilities" type="MediumFormatCapabilities" safearray="yes" readonly="yes"> 13463 13463 <desc> 13464 13464 Capabilities of the format as a set of bit flags. -
trunk/src/VBox/Main/include/MediumFormatImpl.h
r37587 r44503 91 91 STDMETHOD(COMGETTER(Id))(BSTR *aId); 92 92 STDMETHOD(COMGETTER(Name))(BSTR *aName); 93 STDMETHOD(COMGETTER(Capabilities))( ULONG *aCaps);93 STDMETHOD(COMGETTER(Capabilities))(ComSafeArrayOut(MediumFormatCapabilities_T, aCaps)); 94 94 95 95 // IMediumFormat methods -
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r44425 r44503 3244 3244 ComPtr<IMediumFormat> pMediumFormat; 3245 3245 hrc = pMedium->COMGETTER(MediumFormat)(pMediumFormat.asOutParam()); H(); 3246 ULONG uCaps; 3247 hrc = pMediumFormat->COMGETTER(Capabilities)(&uCaps); H(); 3246 ULONG uCaps = 0; 3247 com::SafeArray <MediumFormatCapabilities_T> mediumFormatCap; 3248 hrc = pMediumFormat->COMGETTER(Capabilities)(ComSafeArrayAsOutParam(mediumFormatCap)); H(); 3249 3250 for (ULONG j = 0; j < mediumFormatCap.size(); j++) 3251 uCaps |= mediumFormatCap[j]; 3252 3248 3253 if (uCaps & MediumFormatCapabilities_File) 3249 3254 { … … 3418 3423 ComPtr<IMediumFormat> pMediumFormat; 3419 3424 hrc = pMedium->COMGETTER(MediumFormat)(pMediumFormat.asOutParam()); H(); 3420 ULONG uCaps; 3421 hrc = pMediumFormat->COMGETTER(Capabilities)(&uCaps); H(); 3425 ULONG uCaps = 0; 3426 com::SafeArray <MediumFormatCapabilities_T> mediumFormatCap; 3427 hrc = pMediumFormat->COMGETTER(Capabilities)(ComSafeArrayAsOutParam(mediumFormatCap)); H(); 3428 3429 for (ULONG j = 0; j < mediumFormatCap.size(); j++) 3430 uCaps |= mediumFormatCap[j]; 3431 3422 3432 if (uCaps & MediumFormatCapabilities_File) 3423 3433 { -
trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp
r44365 r44503 1835 1835 /* Check the capabilities. We need create capabilities. */ 1836 1836 ULONG lCabs = 0; 1837 rc = trgFormat->COMGETTER(Capabilities)(&lCabs); 1837 com::SafeArray <MediumFormatCapabilities_T> mediumFormatCap; 1838 rc = trgFormat->COMGETTER(Capabilities)(ComSafeArrayAsOutParam(mediumFormatCap)); 1839 1838 1840 if (FAILED(rc)) throw rc; 1841 else 1842 { 1843 for (ULONG j = 0; j < mediumFormatCap.size(); j++) 1844 lCabs |= mediumFormatCap[j]; 1845 } 1846 1839 1847 if (!( ((lCabs & MediumFormatCapabilities_CreateFixed) == MediumFormatCapabilities_CreateFixed) 1840 1848 || ((lCabs & MediumFormatCapabilities_CreateDynamic) == MediumFormatCapabilities_CreateDynamic))) -
trunk/src/VBox/Main/src-server/MachineImplCloneVM.cpp
r44480 r44503 1090 1090 rc = pMedium->COMGETTER(MediumFormat)(pSrcFormat.asOutParam()); 1091 1091 ULONG uSrcCaps = 0; 1092 rc = pSrcFormat->COMGETTER(Capabilities)(&uSrcCaps); 1092 com::SafeArray <MediumFormatCapabilities_T> mediumFormatCap; 1093 rc = pSrcFormat->COMGETTER(Capabilities)(ComSafeArrayAsOutParam(mediumFormatCap)); 1094 1093 1095 if (FAILED(rc)) throw rc; 1096 else 1097 { 1098 for (ULONG j = 0; j < mediumFormatCap.size(); j++) 1099 uSrcCaps |= mediumFormatCap[j]; 1100 } 1094 1101 1095 1102 /* Default format? */ -
trunk/src/VBox/Main/src-server/MediumFormatImpl.cpp
r37587 r44503 218 218 } 219 219 220 STDMETHODIMP MediumFormat::COMGETTER(Capabilities)(ULONG *aCaps) 221 { 222 CheckComArgOutPointerValid(aCaps); 223 224 AutoCaller autoCaller(this); 225 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 226 227 /* m.capabilities is const, no need to lock */ 228 229 /// @todo add COMGETTER(ExtendedCapabilities) when we reach the 32 bit 230 /// limit (or make the argument ULONG64 after checking that COM is capable 231 /// of defining enums (used to represent bit flags) that contain 64-bit 232 /// values). Or go away from the enum/ulong hack for bit sets and use 233 /// a safearray like elsewhere. 234 ComAssertRet((uint64_t)m.capabilities == ((ULONG)m.capabilities), E_FAIL); 235 236 *aCaps = (ULONG)m.capabilities; 220 STDMETHODIMP MediumFormat::COMGETTER(Capabilities)(ComSafeArrayOut(MediumFormatCapabilities_T, aCaps)) 221 { 222 CheckComArgOutSafeArrayPointerValid(aCaps); 223 224 AutoCaller autoCaller(this); 225 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 226 227 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 228 229 SafeArray<MediumFormatCapabilities_T> capabilities(sizeof(MediumFormatCapabilities_T)*8); 230 231 for (ULONG i = 0; i < capabilities.size(); ++i) 232 { 233 ULONG temp = m.capabilities; 234 temp &= 1<<i; 235 capabilities [i] = (MediumFormatCapabilities_T)temp; 236 } 237 238 capabilities.detachTo(ComSafeArrayOutArg(aCaps)); 237 239 238 240 return S_OK; -
trunk/src/VBox/Main/src-server/SnapshotImpl.cpp
r44406 r44503 2536 2536 throw rc; 2537 2537 ULONG uTargetCaps = 0; 2538 rc = pTargetFormat->COMGETTER(Capabilities)(&uTargetCaps); 2539 if (FAILED(rc)) 2540 throw rc; 2538 com::SafeArray <MediumFormatCapabilities_T> mediumFormatCap; 2539 rc = pTargetFormat->COMGETTER(Capabilities)(ComSafeArrayAsOutParam(mediumFormatCap)); 2540 2541 if (FAILED(rc)) throw rc; 2542 else 2543 { 2544 for (ULONG j = 0; j < mediumFormatCap.size(); j++) 2545 uTargetCaps |= mediumFormatCap[j]; 2546 } 2541 2547 2542 2548 if (uTargetCaps & MediumFormatCapabilities_File)
Note:
See TracChangeset
for help on using the changeset viewer.