- Timestamp:
- Apr 11, 2013 8:09:04 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 84963
- Location:
- trunk/src/VBox/Main
- Files:
-
- 2 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/Makefile.kmk
r45492 r45497 45 45 # Construct VBOX_MAIN_DEFS 46 46 ## @todo eliminate or expand VBOX_MAIN_DEFS. 47 VBOX_MAIN_DEFS = 47 VBOX_MAIN_DEFS = 48 48 ifneq ($(KBUILD_TARGET),win) 49 49 ifndef VBOX_WITH_XPCOM … … 162 162 docs: $(PATH_TARGET)/docs.Main 163 163 endif 164 165 166 #167 # Generate library with API class wrappers from the XIDL file.168 #169 LIBRARIES += VBoxAPIWrap170 VBoxAPIWrap_TEMPLATE = VBOXMAINLIB171 VBoxAPIWrap_SOURCES = $(VBoxAPIWrap_GENERATEDCPP)172 VBoxAPIWrap_GENERATEDCPP = $(filter %.cpp,$(VBoxAPIWrap_GENERATEDSOURCES))173 VBoxAPIWrap_GENERATEDSOURCES = $(addprefix $(VBoxAPIWrap_0_OUTDIR)/,$(VBoxAPIWrap_VBOX_APIWRAPPERFILES))174 VBoxAPIWrap_RAWSRC = \175 $(VBoxAPIWrap_0_OUTDIR)/apiwrappers176 VBoxAPIWrap_XSLT = \177 $(VBOX_PATH_MAIN_SRC)/idl/apiwrap-server.xsl178 VBoxAPIWrap_DEFS.win.x86 += _WIN32_WINNT=0x0500179 VBoxAPIWrap_DEFS.win.amd64 += _WIN32_WINNT=0x0510180 VBoxAPIWrap_INCS += \181 include182 VBoxAPIWrap_CLEAN = \183 $(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.cpp) \184 $(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.h) \185 $(VBoxAPIWrap_RAWSRC)186 VBoxAPIWrap_KMK = $(PATH_OUT)/vboxapiwrap.kmk187 include $(VBoxAPIWrap_KMK)188 164 189 165 … … 284 260 $(VBoxSVC_0_OUTDIR) \ 285 261 $(dir $(VBOX_XML_SCHEMADEFS_H)) \ 286 $(VBoxAPIWrap_0_OUTDIR) \287 262 . 288 263 VBoxSVC_INCS.win = \ … … 294 269 295 270 VBoxSVC_LIBS += \ 296 $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB) \297 271 $(PATH_STAGE_LIB)/SSMStandalone$(VBOX_SUFF_LIB) \ 298 272 $(LIB_DDU) … … 573 547 include \ 574 548 $(VBoxC_0_OUTDIR) \ 575 $(VBoxAPIWrap_0_OUTDIR) \576 549 $(dir $(VBOX_XML_SCHEMADEFS_H)) 577 550 VBoxC_INCS.win = \ … … 893 866 | $(VBOX_JMSCOM_GEN)/java/ 894 867 $(call MSG_L1,Generating Java MSCOM glue files from XIDL) 895 $(QUIET)$(RM) -f $( VBOX_JMSCOM_GEN)/java/*.java868 $(QUIET)$(RM) -f $(wildcard $(VBOX_JMSCOM_GEN)/java/*.java) 896 869 $(QUIET)$(VBOX_XSLTPROC) \ 897 870 --stringparam G_vboxApiSuffix $(VBOX_API_SUFFIX) \ … … 927 900 $(VBOX_PATH_MAIN_SRC)/glue/tests/Makefile=>Makefile 928 901 929 # moved those rules to the end so that VBoxAPIWrap_0_OUTDIR can be expanded without $$ trickery930 $(VBoxAPIWrap_RAWSRC) \931 +| $(VBoxAPIWrap_GENERATEDSOURCES): \932 $(VBOX_XIDL_FILE) \933 $(VBoxAPIWrap_XSLT) \934 $(VBOX_FILESPLIT) \935 | $$(dir $$@)936 $(call MSG_L1,Generating C++ Server API wrapper files from XIDL)937 $(QUIET)$(RM) -f $(filter-out $(VBoxAPIWrap_GENERATEDSOURCES),$(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.cpp) $(wildcard $(VBoxAPIWrap_0_OUTDIR)/*.h))938 $(QUIET)$(VBOX_XSLTPROC) --stringparam filelistonly "" -o $@ $(VBoxAPIWrap_XSLT) $<939 $(QUIET)$(VBOX_FILESPLIT) $@ $(VBoxAPIWrap_0_OUTDIR)940 941 $(VBoxAPIWrap_KMK).ts +| $(VBoxAPIWrap_KMK): $(VBOX_XIDL_FILE) $(VBoxAPIWrap_XSLT)942 $(call MSG_GENERATE,,$(VBoxAPIWrap_KMK))943 $(QUIET)$(RM) -f $@944 $(QUIET)$(MKDIR) -p $(@D)945 $(QUIET)$(VBOX_XSLTPROC) --stringparam filelistonly VBoxAPIWrap_VBOX_APIWRAPPERFILES -o $@ $(VBoxAPIWrap_XSLT) $<946 $(QUIET)$(CP) --changed -fv $@ $(VBoxAPIWrap_KMK)947 948 902 updatenls:: 949 903 $(VBOX_LUPDATE) $(VBoxSVC_SOURCES) $(VBoxSVC_VBOX_HEADERS) -ts $(VBoxSVC_VBOX_TRANSLATIONS) -
trunk/src/VBox/Main/include/MediumFormatImpl.h
r45491 r45497 3 3 /** @file 4 4 * 5 * MediumFormatCOM class implementation5 * VirtualBox COM class implementation 6 6 */ 7 7 … … 18 18 */ 19 19 20 #ifndef MEDIUMFORMAT_IMPL_H_21 #define MEDIUMFORMAT_IMPL_H_20 #ifndef ____H_MEDIUMFORMAT 21 #define ____H_MEDIUMFORMAT 22 22 23 #include " MediumFormatWrap.h"23 #include "VirtualBoxBase.h" 24 24 25 #include <VBox/com/array.h> 26 27 #include <list> 25 28 26 29 struct VDBACKENDINFO; … … 36 39 */ 37 40 class ATL_NO_VTABLE MediumFormat : 38 public MediumFormatWrap 41 public VirtualBoxBase, 42 VBOX_SCRIPTABLE_IMPL(IMediumFormat) 39 43 { 40 44 public: … … 49 53 }; 50 54 51 typedef std::vector<Property> PropertyArray; 52 typedef std::vector<com::Utf8Str> StrArray; 55 typedef std::list<Utf8Str> StrList; 56 typedef std::list<DeviceType_T> DeviceTypeList; 57 typedef std::list<Property> PropertyList; 58 59 struct Data 60 { 61 Data() : capabilities((MediumFormatCapabilities_T)0) {} 62 63 const Utf8Str strId; 64 const Utf8Str strName; 65 const StrList llFileExtensions; 66 const DeviceTypeList llDeviceTypes; 67 const MediumFormatCapabilities_T capabilities; 68 const PropertyList llProperties; 69 }; 70 71 VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(MediumFormat, IMediumFormat) 72 73 DECLARE_NOT_AGGREGATABLE(MediumFormat) 74 75 DECLARE_PROTECT_FINAL_CONSTRUCT() 76 77 BEGIN_COM_MAP(MediumFormat) 78 VBOX_DEFAULT_INTERFACE_ENTRIES(IMediumFormat) 79 END_COM_MAP() 53 80 54 81 DECLARE_EMPTY_CTOR_DTOR(MediumFormat) … … 61 88 void uninit(); 62 89 90 // IMediumFormat properties 91 STDMETHOD(COMGETTER(Id))(BSTR *aId); 92 STDMETHOD(COMGETTER(Name))(BSTR *aName); 93 STDMETHOD(COMGETTER(Capabilities))(ComSafeArrayOut(MediumFormatCapabilities_T, aCaps)); 94 95 // IMediumFormat methods 96 STDMETHOD(DescribeFileExtensions)(ComSafeArrayOut(BSTR, aFileExtensions), 97 ComSafeArrayOut(DeviceType_T, aDeviceTypes)); 98 STDMETHOD(DescribeProperties)(ComSafeArrayOut(BSTR, aNames), 99 ComSafeArrayOut(BSTR, aDescriptions), 100 ComSafeArrayOut(DataType_T, aTypes), 101 ComSafeArrayOut(ULONG, aFlags), 102 ComSafeArrayOut(BSTR, aDefaults)); 103 104 // public methods only for internal purposes 105 63 106 // public methods for internal purposes only 64 107 // (ensure there is a caller and a read lock before calling them!) 65 108 66 109 /** Const, no need to lock */ 67 const Utf8Str &i_getId() const { return m.strId; }110 const Utf8Str& getId() const { return m.strId; } 68 111 /** Const, no need to lock */ 69 const Str Array &i_getFileExtensions() const { return m.maFileExtensions; }112 const StrList& getFileExtensions() const { return m.llFileExtensions; } 70 113 /** Const, no need to lock */ 71 MediumFormatCapabilities_T i_getCapabilities() const { return m.capabilities; }114 MediumFormatCapabilities_T getCapabilities() const { return m.capabilities; } 72 115 /** Const, no need to lock */ 73 const Property Array &i_getProperties() const { return m.maProperties; }116 const PropertyList& getProperties() const { return m.llProperties; } 74 117 75 118 private: 76 77 // wrapped IMediumFormat properties78 HRESULT getId(com::Utf8Str &aId);79 HRESULT getName(com::Utf8Str &aName);80 HRESULT getCapabilities(std::vector<MediumFormatCapabilities_T> &aCapabilities);81 82 // wrapped IMediumFormat methods83 HRESULT describeFileExtensions(std::vector<com::Utf8Str> &aExtensions,84 std::vector<DeviceType_T> &aTypes);85 HRESULT describeProperties(std::vector<com::Utf8Str> &aNames,86 std::vector<com::Utf8Str> &aDescriptions,87 std::vector<DataType_T> &aTypes,88 std::vector<ULONG> &aFlags,89 std::vector<com::Utf8Str> &aDefaults);90 91 // types92 typedef std::vector<DeviceType_T> DeviceTypeArray;93 94 // data95 struct Data96 {97 Data() : capabilities((MediumFormatCapabilities_T)0) {}98 99 const Utf8Str strId;100 const Utf8Str strName;101 const StrArray maFileExtensions;102 const DeviceTypeArray maDeviceTypes;103 const MediumFormatCapabilities_T capabilities;104 const PropertyArray maProperties;105 };106 119 107 120 Data m; 108 121 }; 109 122 110 #endif // MEDIUMFORMAT_IMPL_H_123 #endif // ____H_MEDIUMFORMAT 111 124 112 125 /* vi: set tabstop=4 shiftwidth=4 expandtab: */ -
trunk/src/VBox/Main/src-server/MediumFormatImpl.cpp
r45491 r45497 2 2 /** @file 3 3 * 4 * MediumFormatCOM class implementation4 * VirtualBox COM class implementation 5 5 */ 6 6 … … 76 76 DeviceType_T devType; 77 77 78 unconst(m. maFileExtensions).push_back(papExtension->pszExtension);78 unconst(m.llFileExtensions).push_back(papExtension->pszExtension); 79 79 80 80 switch(papExtension->enmType) … … 94 94 } 95 95 96 unconst(m. maDeviceTypes).push_back(devType);96 unconst(m.llDeviceTypes).push_back(devType); 97 97 ++papExtension; 98 98 } … … 157 157 flags, 158 158 defaultValue }; 159 unconst(m. maProperties).push_back(prop);159 unconst(m.llProperties).push_back(prop); 160 160 ++pa; 161 161 } … … 181 181 return; 182 182 183 unconst(m. maProperties).clear();184 unconst(m. maFileExtensions).clear();185 unconst(m. maDeviceTypes).clear();183 unconst(m.llProperties).clear(); 184 unconst(m.llFileExtensions).clear(); 185 unconst(m.llDeviceTypes).clear(); 186 186 unconst(m.capabilities) = (MediumFormatCapabilities_T)0; 187 187 unconst(m.strName).setNull(); … … 192 192 ///////////////////////////////////////////////////////////////////////////// 193 193 194 HRESULT MediumFormat::getId(com::Utf8Str &aId) 195 { 194 STDMETHODIMP MediumFormat::COMGETTER(Id)(BSTR *aId) 195 { 196 CheckComArgOutPointerValid(aId); 197 198 AutoCaller autoCaller(this); 199 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 200 196 201 /* this is const, no need to lock */ 197 aId = m.strId; 198 199 return S_OK; 200 } 201 202 HRESULT MediumFormat::getName(com::Utf8Str &aName) 203 { 202 m.strId.cloneTo(aId); 203 204 return S_OK; 205 } 206 207 STDMETHODIMP MediumFormat::COMGETTER(Name)(BSTR *aName) 208 { 209 CheckComArgOutPointerValid(aName); 210 211 AutoCaller autoCaller(this); 212 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 213 204 214 /* this is const, no need to lock */ 205 aName = m.strName; 206 207 return S_OK; 208 } 209 210 HRESULT MediumFormat::getCapabilities(std::vector<MediumFormatCapabilities_T> &aCapabilities) 211 { 212 /* m.capabilities is const, no need to lock */ 213 214 aCapabilities.resize(sizeof(MediumFormatCapabilities_T) * 8); 215 size_t cCapabilities = 0; 216 for (size_t i = 0; i < aCapabilities.size(); i++) 215 m.strName.cloneTo(aName); 216 217 return S_OK; 218 } 219 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) 217 232 { 218 uint64_t tmp = m.capabilities; 219 tmp &= 1ULL << i; 220 if (tmp) 221 aCapabilities[cCapabilities] = (MediumFormatCapabilities_T)tmp; 233 ULONG temp = m.capabilities; 234 temp &= 1<<i; 235 capabilities [i] = (MediumFormatCapabilities_T)temp; 222 236 } 223 aCapabilities.resize(RT_MIN(cCapabilities, 1)); 237 238 capabilities.detachTo(ComSafeArrayOutArg(aCaps)); 239 240 return S_OK; 241 } 242 243 STDMETHODIMP MediumFormat::DescribeFileExtensions(ComSafeArrayOut(BSTR, aFileExtensions), 244 ComSafeArrayOut(DeviceType_T, aDeviceTypes)) 245 { 246 CheckComArgOutSafeArrayPointerValid(aFileExtensions); 247 248 AutoCaller autoCaller(this); 249 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 250 251 /* this is const, no need to lock */ 252 com::SafeArray<BSTR> fileExtentions(m.llFileExtensions.size()); 253 int i = 0; 254 for (StrList::const_iterator it = m.llFileExtensions.begin(); 255 it != m.llFileExtensions.end(); 256 ++it, ++i) 257 (*it).cloneTo(&fileExtentions[i]); 258 fileExtentions.detachTo(ComSafeArrayOutArg(aFileExtensions)); 259 260 com::SafeArray<DeviceType_T> deviceTypes(m.llDeviceTypes.size()); 261 i = 0; 262 for (DeviceTypeList::const_iterator it = m.llDeviceTypes.begin(); 263 it != m.llDeviceTypes.end(); 264 ++it, ++i) 265 deviceTypes[i] = (*it); 266 deviceTypes.detachTo(ComSafeArrayOutArg(aDeviceTypes)); 267 268 return S_OK; 269 } 270 271 STDMETHODIMP MediumFormat::DescribeProperties(ComSafeArrayOut(BSTR, aNames), 272 ComSafeArrayOut(BSTR, aDescriptions), 273 ComSafeArrayOut(DataType_T, aTypes), 274 ComSafeArrayOut(ULONG, aFlags), 275 ComSafeArrayOut(BSTR, aDefaults)) 276 { 277 CheckComArgOutSafeArrayPointerValid(aNames); 278 CheckComArgOutSafeArrayPointerValid(aDescriptions); 279 CheckComArgOutSafeArrayPointerValid(aTypes); 280 CheckComArgOutSafeArrayPointerValid(aFlags); 281 CheckComArgOutSafeArrayPointerValid(aDefaults); 282 283 AutoCaller autoCaller(this); 284 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 285 286 /* this is const, no need to lock */ 287 size_t c = m.llProperties.size(); 288 com::SafeArray<BSTR> propertyNames(c); 289 com::SafeArray<BSTR> propertyDescriptions(c); 290 com::SafeArray<DataType_T> propertyTypes(c); 291 com::SafeArray<ULONG> propertyFlags(c); 292 com::SafeArray<BSTR> propertyDefaults(c); 293 294 int i = 0; 295 for (PropertyList::const_iterator it = m.llProperties.begin(); 296 it != m.llProperties.end(); 297 ++it, ++i) 298 { 299 const Property &prop = (*it); 300 prop.strName.cloneTo(&propertyNames[i]); 301 prop.strDescription.cloneTo(&propertyDescriptions[i]); 302 propertyTypes[i] = prop.type; 303 propertyFlags[i] = prop.flags; 304 prop.strDefaultValue.cloneTo(&propertyDefaults[i]); 305 } 306 307 propertyNames.detachTo(ComSafeArrayOutArg(aNames)); 308 propertyDescriptions.detachTo(ComSafeArrayOutArg(aDescriptions)); 309 propertyTypes.detachTo(ComSafeArrayOutArg(aTypes)); 310 propertyFlags.detachTo(ComSafeArrayOutArg(aFlags)); 311 propertyDefaults.detachTo(ComSafeArrayOutArg(aDefaults)); 224 312 225 313 return S_OK; … … 229 317 ///////////////////////////////////////////////////////////////////////////// 230 318 231 HRESULT MediumFormat::describeFileExtensions(std::vector<com::Utf8Str> &aExtensions,232 std::vector<DeviceType_T> &aTypes)233 {234 /* this is const, no need to lock */235 aExtensions = m.maFileExtensions;236 aTypes = m.maDeviceTypes;237 238 return S_OK;239 }240 241 HRESULT MediumFormat::describeProperties(std::vector<com::Utf8Str> &aNames,242 std::vector<com::Utf8Str> &aDescriptions,243 std::vector<DataType_T> &aTypes,244 std::vector<ULONG> &aFlags,245 std::vector<com::Utf8Str> &aDefaults)246 {247 /* this is const, no need to lock */248 size_t c = m.maProperties.size();249 aNames.resize(c);250 aDescriptions.resize(c);251 aTypes.resize(c);252 aFlags.resize(c);253 aDefaults.resize(c);254 for (size_t i = 0; i < c; i++)255 {256 const Property &prop = m.maProperties[i];257 aNames[i] = prop.strName;258 aDescriptions[i] = prop.strDescription;259 aTypes[i] = prop.type;260 aFlags[i] = prop.flags;261 aDefaults[i] = prop.strDefaultValue;262 }263 264 return S_OK;265 }266 267 319 // public methods only for internal purposes 268 320 ///////////////////////////////////////////////////////////////////////////// -
trunk/src/VBox/Main/src-server/MediumImpl.cpp
r45491 r45497 959 959 if (FAILED(rc)) return rc; 960 960 961 if (!(m->formatObj-> i_getCapabilities() & ( MediumFormatCapabilities_CreateFixed961 if (!(m->formatObj->getCapabilities() & ( MediumFormatCapabilities_CreateFixed 962 962 | MediumFormatCapabilities_CreateDynamic)) 963 963 ) … … 1240 1240 1241 1241 Utf8Str strFull; 1242 if (m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_File)1242 if (m->formatObj->getCapabilities() & MediumFormatCapabilities_File) 1243 1243 { 1244 1244 // compose full path of the medium, if it's not fully qualified... … … 2517 2517 2518 2518 if ( !(mediumVariantFlags & MediumVariant_Fixed) 2519 && !(m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_CreateDynamic))2519 && !(m->formatObj->getCapabilities() & MediumFormatCapabilities_CreateDynamic)) 2520 2520 throw setError(VBOX_E_NOT_SUPPORTED, 2521 2521 tr("Medium format '%s' does not support dynamic storage creation"), … … 2523 2523 2524 2524 if ( (mediumVariantFlags & MediumVariant_Fixed) 2525 && !(m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_CreateDynamic))2525 && !(m->formatObj->getCapabilities() & MediumFormatCapabilities_CreateDynamic)) 2526 2526 throw setError(VBOX_E_NOT_SUPPORTED, 2527 2527 tr("Medium format '%s' does not support fixed storage creation"), … … 3194 3194 { 3195 3195 if ( m->formatObj 3196 && (m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_File)3196 && (m->formatObj->getCapabilities() & MediumFormatCapabilities_File) 3197 3197 ) 3198 3198 return true; … … 4137 4137 4138 4138 /* check that our own format supports diffs */ 4139 if (!(m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_Differencing))4139 if (!(m->formatObj->getCapabilities() & MediumFormatCapabilities_Differencing)) 4140 4140 { 4141 4141 /* use the default format if not */ … … 4270 4270 LogFlowThisFunc(("aWait=%RTbool locationFull=%s\n", aWait, getLocationFull().c_str() )); 4271 4271 4272 if ( !(m->formatObj-> i_getCapabilities() & ( MediumFormatCapabilities_CreateDynamic4272 if ( !(m->formatObj->getCapabilities() & ( MediumFormatCapabilities_CreateDynamic 4273 4273 | MediumFormatCapabilities_CreateFixed))) 4274 4274 throw setError(VBOX_E_NOT_SUPPORTED, … … 5676 5676 } 5677 5677 5678 if (formatObj-> i_getCapabilities() & MediumFormatCapabilities_Uuid)5678 if (formatObj->getCapabilities() & MediumFormatCapabilities_Uuid) 5679 5679 { 5680 5680 /* Modify the UUIDs if necessary. The associated fields are … … 6204 6204 6205 6205 if ( isImport 6206 || ( (m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_File)6206 || ( (m->formatObj->getCapabilities() & MediumFormatCapabilities_File) 6207 6207 && !m->hostDrive)) 6208 6208 { … … 6214 6214 { 6215 6215 /* must be a file (formatObj must be already known) */ 6216 Assert(m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_File);6216 Assert(m->formatObj->getCapabilities() & MediumFormatCapabilities_File); 6217 6217 6218 6218 if (RTPathFilename(aLocation.c_str()) == NULL) … … 6222 6222 * this */ 6223 6223 6224 ComAssertMsgRet(!m->formatObj-> i_getFileExtensions().empty(),6224 ComAssertMsgRet(!m->formatObj->getFileExtensions().empty(), 6225 6225 ("Must be at least one extension if it is MediumFormatCapabilities_File\n"), 6226 6226 E_FAIL); 6227 6227 6228 Utf8Str strExt = m->formatObj-> i_getFileExtensions().front();6228 Utf8Str strExt = m->formatObj->getFileExtensions().front(); 6229 6229 ComAssertMsgRet(!strExt.isEmpty(), 6230 6230 ("Default extension must not be empty\n"), … … 6240 6240 // we must always have full paths now (if it refers to a file) 6241 6241 if ( ( m->formatObj.isNull() 6242 || m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_File)6242 || m->formatObj->getCapabilities() & MediumFormatCapabilities_File) 6243 6243 && !RTPathStartsWithRoot(locationFull.c_str())) 6244 6244 return setError(VBOX_E_FILE_ERROR, … … 6326 6326 6327 6327 /* is it still a file? */ 6328 if ( (m->formatObj-> i_getCapabilities() & MediumFormatCapabilities_File)6328 if ( (m->formatObj->getCapabilities() & MediumFormatCapabilities_File) 6329 6329 && (m->state == MediumState_NotCreated) 6330 6330 ) … … 6374 6374 Assert(m->mapProperties.empty()); 6375 6375 6376 for (MediumFormat::Property Array::const_iterator it = m->formatObj->i_getProperties().begin();6377 it != m->formatObj-> i_getProperties().end();6376 for (MediumFormat::PropertyList::const_iterator it = m->formatObj->getProperties().begin(); 6377 it != m->formatObj->getProperties().end(); 6378 6378 ++it) 6379 6379 { … … 6764 6764 Utf8Str format(m->strFormat); 6765 6765 Utf8Str location(m->strLocationFull); 6766 uint64_t capabilities = m->formatObj-> i_getCapabilities();6766 uint64_t capabilities = m->formatObj->getCapabilities(); 6767 6767 ComAssertThrow(capabilities & ( MediumFormatCapabilities_CreateFixed 6768 6768 | MediumFormatCapabilities_CreateDynamic), E_FAIL); … … 6904 6904 Utf8Str targetFormat(pTarget->m->strFormat); 6905 6905 Utf8Str targetLocation(pTarget->m->strLocationFull); 6906 uint64_t capabilities = pTarget->m->formatObj-> i_getCapabilities();6906 uint64_t capabilities = pTarget->m->formatObj->getCapabilities(); 6907 6907 ComAssertThrow(capabilities & MediumFormatCapabilities_CreateDynamic, E_FAIL); 6908 6908 … … 7442 7442 Utf8Str targetFormat(pTarget->m->strFormat); 7443 7443 Utf8Str targetLocation(pTarget->m->strLocationFull); 7444 uint64_t capabilities = pTarget->m->formatObj-> i_getCapabilities();7444 uint64_t capabilities = pTarget->m->formatObj->getCapabilities(); 7445 7445 7446 7446 Assert( pTarget->m->state == MediumState_Creating … … 8125 8125 } 8126 8126 8127 Utf8Str targetFormat(task.mFormat-> i_getId());8127 Utf8Str targetFormat(task.mFormat->getId()); 8128 8128 Utf8Str targetLocation(task.mFilename); 8129 uint64_t capabilities = task.mFormat-> i_getCapabilities();8129 uint64_t capabilities = task.mFormat->getCapabilities(); 8130 8130 8131 8131 Assert(m->state == MediumState_LockedRead); … … 8238 8238 /* Open source medium. */ 8239 8239 vrc = VDOpen(hdd, 8240 task.mFormat-> i_getId().c_str(),8240 task.mFormat->getId().c_str(), 8241 8241 task.mFilename.c_str(), 8242 8242 VD_OPEN_FLAGS_READONLY | VD_OPEN_FLAGS_SEQUENTIAL | m->uOpenFlagsDef, … … 8250 8250 Utf8Str targetFormat(m->strFormat); 8251 8251 Utf8Str targetLocation(m->strLocationFull); 8252 uint64_t capabilities = task.mFormat-> i_getCapabilities();8252 uint64_t capabilities = task.mFormat->getCapabilities(); 8253 8253 8254 8254 Assert( m->state == MediumState_Creating -
trunk/src/VBox/Main/src-server/SystemPropertiesImpl.cpp
r45491 r45497 1106 1106 /* MediumFormat is all const, no need to lock */ 1107 1107 1108 if ((*it)-> i_getId().compare(aFormat, Utf8Str::CaseInsensitive) == 0)1108 if ((*it)->getId().compare(aFormat, Utf8Str::CaseInsensitive) == 0) 1109 1109 { 1110 1110 format = *it; … … 1139 1139 { 1140 1140 /* MediumFormat is all const, no need to lock */ 1141 MediumFormat::Str Array aFileList = (*it)->i_getFileExtensions();1142 for (MediumFormat::Str Array::const_iterator it1 = aFileList.begin();1141 MediumFormat::StrList aFileList = (*it)->getFileExtensions(); 1142 for (MediumFormat::StrList::const_iterator it1 = aFileList.begin(); 1143 1143 it1 != aFileList.end(); 1144 1144 ++it1)
Note:
See TracChangeset
for help on using the changeset viewer.