Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(926)

Side by Side Diff: device/sensors/data_fetcher_shared_memory_win.cc

Issue 2887243002: Remove ScopedComPtr::CreateInstance() (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "device/sensors/data_fetcher_shared_memory.h" 5 #include "device/sensors/data_fetcher_shared_memory.h"
6 6
7 #include <GuidDef.h> 7 #include <GuidDef.h>
8 #include <InitGuid.h> 8 #include <InitGuid.h>
9 #include <PortableDeviceTypes.h> 9 #include <PortableDeviceTypes.h>
10 #include <Sensors.h> 10 #include <Sensors.h>
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 } 310 }
311 311
312 bool DataFetcherSharedMemory::RegisterForSensor( 312 bool DataFetcherSharedMemory::RegisterForSensor(
313 REFSENSOR_TYPE_ID sensor_type, 313 REFSENSOR_TYPE_ID sensor_type,
314 ISensor** sensor, 314 ISensor** sensor,
315 scoped_refptr<SensorEventSink> event_sink) { 315 scoped_refptr<SensorEventSink> event_sink) {
316 if (base::win::GetVersion() < base::win::VERSION_WIN7) 316 if (base::win::GetVersion() < base::win::VERSION_WIN7)
317 return false; 317 return false;
318 318
319 base::win::ScopedComPtr<ISensorManager> sensor_manager; 319 base::win::ScopedComPtr<ISensorManager> sensor_manager;
320 HRESULT hr = sensor_manager.CreateInstance(CLSID_SensorManager); 320 HRESULT hr = ::CoCreateInstance(CLSID_SensorManager, nullptr, CLSCTX_ALL,
321 IID_PPV_ARGS(&sensor_manager));
321 if (FAILED(hr) || !sensor_manager.Get()) 322 if (FAILED(hr) || !sensor_manager.Get())
322 return false; 323 return false;
323 324
324 base::win::ScopedComPtr<ISensorCollection> sensor_collection; 325 base::win::ScopedComPtr<ISensorCollection> sensor_collection;
325 hr = sensor_manager->GetSensorsByType(sensor_type, 326 hr = sensor_manager->GetSensorsByType(sensor_type,
326 sensor_collection.GetAddressOf()); 327 sensor_collection.GetAddressOf());
327 328
328 if (FAILED(hr) || !sensor_collection.Get()) 329 if (FAILED(hr) || !sensor_collection.Get())
329 return false; 330 return false;
330 331
331 ULONG count = 0; 332 ULONG count = 0;
332 hr = sensor_collection->GetCount(&count); 333 hr = sensor_collection->GetCount(&count);
333 if (FAILED(hr) || !count) 334 if (FAILED(hr) || !count)
334 return false; 335 return false;
335 336
336 hr = sensor_collection->GetAt(0, sensor); 337 hr = sensor_collection->GetAt(0, sensor);
337 if (FAILED(hr) || !(*sensor)) 338 if (FAILED(hr) || !(*sensor))
338 return false; 339 return false;
339 340
340 base::win::ScopedComPtr<IPortableDeviceValues> device_values; 341 base::win::ScopedComPtr<IPortableDeviceValues> device_values;
341 if (SUCCEEDED(device_values.CreateInstance(CLSID_PortableDeviceValues))) { 342 if (SUCCEEDED(::CoCreateInstance(CLSID_PortableDeviceValues, nullptr,
343 CLSCTX_ALL, IID_PPV_ARGS(&device_values)))) {
342 if (SUCCEEDED(device_values->SetUnsignedIntegerValue( 344 if (SUCCEEDED(device_values->SetUnsignedIntegerValue(
343 SENSOR_PROPERTY_CURRENT_REPORT_INTERVAL, 345 SENSOR_PROPERTY_CURRENT_REPORT_INTERVAL,
344 GetInterval().InMilliseconds()))) { 346 GetInterval().InMilliseconds()))) {
345 base::win::ScopedComPtr<IPortableDeviceValues> return_values; 347 base::win::ScopedComPtr<IPortableDeviceValues> return_values;
346 (*sensor)->SetProperties(device_values.Get(), 348 (*sensor)->SetProperties(device_values.Get(),
347 return_values.GetAddressOf()); 349 return_values.GetAddressOf());
348 } 350 }
349 } 351 }
350 352
351 base::win::ScopedComPtr<ISensorEvents> sensor_events; 353 base::win::ScopedComPtr<ISensorEvents> sensor_events;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 motion_buffer_->data.all_available_sensors_are_active = enabled; 416 motion_buffer_->data.all_available_sensors_are_active = enabled;
415 motion_buffer_->seqlock.WriteEnd(); 417 motion_buffer_->seqlock.WriteEnd();
416 } 418 }
417 break; 419 break;
418 default: 420 default:
419 NOTREACHED(); 421 NOTREACHED();
420 } 422 }
421 } 423 }
422 424
423 } // namespace device 425 } // namespace device
OLDNEW
« no previous file with comments | « device/generic_sensor/platform_sensor_reader_win.cc ('k') | media/audio/win/audio_low_latency_input_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698