| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/win/scoped_variant.h" | 5 #include "base/win/scoped_variant.h" |
| 6 |
| 6 #include "base/logging.h" | 7 #include "base/logging.h" |
| 7 | 8 |
| 8 namespace base { | 9 namespace base { |
| 9 namespace win { | 10 namespace win { |
| 10 | 11 |
| 11 // Global, const instance of an empty variant. | 12 // Global, const instance of an empty variant. |
| 12 const VARIANT ScopedVariant::kEmptyVariant = {{{VT_EMPTY}}}; | 13 const VARIANT ScopedVariant::kEmptyVariant = {{{VT_EMPTY}}}; |
| 13 | 14 |
| 14 ScopedVariant::~ScopedVariant() { | 15 ScopedVariant::~ScopedVariant() { |
| 15 static_assert(sizeof(ScopedVariant) == sizeof(VARIANT), "ScopedVariantSize"); | 16 static_assert(sizeof(ScopedVariant) == sizeof(VARIANT), "ScopedVariantSize"); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 | 111 |
| 111 return ret; | 112 return ret; |
| 112 } | 113 } |
| 113 | 114 |
| 114 void ScopedVariant::Set(const wchar_t* str) { | 115 void ScopedVariant::Set(const wchar_t* str) { |
| 115 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 116 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 116 var_.vt = VT_BSTR; | 117 var_.vt = VT_BSTR; |
| 117 var_.bstrVal = ::SysAllocString(str); | 118 var_.bstrVal = ::SysAllocString(str); |
| 118 } | 119 } |
| 119 | 120 |
| 120 void ScopedVariant::Set(int8 i8) { | 121 void ScopedVariant::Set(int8_t i8) { |
| 121 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 122 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 122 var_.vt = VT_I1; | 123 var_.vt = VT_I1; |
| 123 var_.cVal = i8; | 124 var_.cVal = i8; |
| 124 } | 125 } |
| 125 | 126 |
| 126 void ScopedVariant::Set(uint8 ui8) { | 127 void ScopedVariant::Set(uint8_t ui8) { |
| 127 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 128 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 128 var_.vt = VT_UI1; | 129 var_.vt = VT_UI1; |
| 129 var_.bVal = ui8; | 130 var_.bVal = ui8; |
| 130 } | 131 } |
| 131 | 132 |
| 132 void ScopedVariant::Set(int16 i16) { | 133 void ScopedVariant::Set(int16_t i16) { |
| 133 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 134 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 134 var_.vt = VT_I2; | 135 var_.vt = VT_I2; |
| 135 var_.iVal = i16; | 136 var_.iVal = i16; |
| 136 } | 137 } |
| 137 | 138 |
| 138 void ScopedVariant::Set(uint16 ui16) { | 139 void ScopedVariant::Set(uint16_t ui16) { |
| 139 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 140 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 140 var_.vt = VT_UI2; | 141 var_.vt = VT_UI2; |
| 141 var_.uiVal = ui16; | 142 var_.uiVal = ui16; |
| 142 } | 143 } |
| 143 | 144 |
| 144 void ScopedVariant::Set(int32 i32) { | 145 void ScopedVariant::Set(int32_t i32) { |
| 145 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 146 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 146 var_.vt = VT_I4; | 147 var_.vt = VT_I4; |
| 147 var_.lVal = i32; | 148 var_.lVal = i32; |
| 148 } | 149 } |
| 149 | 150 |
| 150 void ScopedVariant::Set(uint32 ui32) { | 151 void ScopedVariant::Set(uint32_t ui32) { |
| 151 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 152 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 152 var_.vt = VT_UI4; | 153 var_.vt = VT_UI4; |
| 153 var_.ulVal = ui32; | 154 var_.ulVal = ui32; |
| 154 } | 155 } |
| 155 | 156 |
| 156 void ScopedVariant::Set(int64 i64) { | 157 void ScopedVariant::Set(int64_t i64) { |
| 157 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 158 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 158 var_.vt = VT_I8; | 159 var_.vt = VT_I8; |
| 159 var_.llVal = i64; | 160 var_.llVal = i64; |
| 160 } | 161 } |
| 161 | 162 |
| 162 void ScopedVariant::Set(uint64 ui64) { | 163 void ScopedVariant::Set(uint64_t ui64) { |
| 163 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 164 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 164 var_.vt = VT_UI8; | 165 var_.vt = VT_UI8; |
| 165 var_.ullVal = ui64; | 166 var_.ullVal = ui64; |
| 166 } | 167 } |
| 167 | 168 |
| 168 void ScopedVariant::Set(float r32) { | 169 void ScopedVariant::Set(float r32) { |
| 169 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; | 170 DCHECK(!IsLeakableVarType(var_.vt)) << "leaking variant: " << var_.vt; |
| 170 var_.vt = VT_R4; | 171 var_.vt = VT_R4; |
| 171 var_.fltVal = r32; | 172 var_.fltVal = r32; |
| 172 } | 173 } |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 | 268 |
| 268 if (!leakable && (vt & VT_ARRAY) != 0) { | 269 if (!leakable && (vt & VT_ARRAY) != 0) { |
| 269 leakable = true; | 270 leakable = true; |
| 270 } | 271 } |
| 271 | 272 |
| 272 return leakable; | 273 return leakable; |
| 273 } | 274 } |
| 274 | 275 |
| 275 } // namespace win | 276 } // namespace win |
| 276 } // namespace base | 277 } // namespace base |
| OLD | NEW |