| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // This file declares a CoreLocation data provider class that allows the | 5 // This file declares a CoreLocation data provider class that allows the |
| 6 // CoreLocation framework to run on the UI thread, since the Geolocation API's | 6 // CoreLocation framework to run on the UI thread, since the Geolocation API's |
| 7 // providers all live on the IO thread | 7 // providers all live on the IO thread |
| 8 | 8 |
| 9 #ifndef CONTENT_BROWSER_GEOLOCATION_CORE_LOCATION_DATA_PROVIDER_H_ | 9 #ifndef CONTENT_BROWSER_GEOLOCATION_CORE_LOCATION_DATA_PROVIDER_H_ |
| 10 #define CONTENT_BROWSER_GEOLOCATION_CORE_LOCATION_DATA_PROVIDER_H_ | 10 #define CONTENT_BROWSER_GEOLOCATION_CORE_LOCATION_DATA_PROVIDER_H_ |
| 11 | 11 |
| 12 #include "base/mac/scoped_nsobject.h" |
| 12 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 13 #include "base/memory/scoped_nsobject.h" | |
| 14 #include "content/public/browser/browser_thread.h" | 14 #include "content/public/browser/browser_thread.h" |
| 15 #include "content/public/common/geoposition.h" | 15 #include "content/public/common/geoposition.h" |
| 16 | 16 |
| 17 #import <Foundation/Foundation.h> | 17 #import <Foundation/Foundation.h> |
| 18 | 18 |
| 19 @class CoreLocationWrapperMac; | 19 @class CoreLocationWrapperMac; |
| 20 | 20 |
| 21 namespace content { | 21 namespace content { |
| 22 class CoreLocationProviderMac; | 22 class CoreLocationProviderMac; |
| 23 | 23 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 37 friend class base::RefCountedThreadSafe<CoreLocationDataProviderMac>; | 37 friend class base::RefCountedThreadSafe<CoreLocationDataProviderMac>; |
| 38 ~CoreLocationDataProviderMac(); | 38 ~CoreLocationDataProviderMac(); |
| 39 | 39 |
| 40 // These must execute in BrowserThread::UI | 40 // These must execute in BrowserThread::UI |
| 41 void StartUpdatingTask(); | 41 void StartUpdatingTask(); |
| 42 void StopUpdatingTask(); | 42 void StopUpdatingTask(); |
| 43 // This must execute in the origin thread (IO thread) | 43 // This must execute in the origin thread (IO thread) |
| 44 void PositionUpdated(Geoposition position); | 44 void PositionUpdated(Geoposition position); |
| 45 | 45 |
| 46 // The wrapper class that supplies this class with position data | 46 // The wrapper class that supplies this class with position data |
| 47 scoped_nsobject<CoreLocationWrapperMac> wrapper_; | 47 base::scoped_nsobject<CoreLocationWrapperMac> wrapper_; |
| 48 // The LocationProvider class that should receive position data | 48 // The LocationProvider class that should receive position data |
| 49 CoreLocationProviderMac* provider_; | 49 CoreLocationProviderMac* provider_; |
| 50 }; | 50 }; |
| 51 | 51 |
| 52 } // namespace content | 52 } // namespace content |
| 53 | 53 |
| 54 #endif // CONTENT_BROWSER_GEOLOCATION_CORE_LOCATION_DATA_PROVIDER_H_ | 54 #endif // CONTENT_BROWSER_GEOLOCATION_CORE_LOCATION_DATA_PROVIDER_H_ |
| OLD | NEW |