Index: content/browser/geofencing/geofencing_service.h |
diff --git a/content/browser/geofencing/geofencing_service.h b/content/browser/geofencing/geofencing_service.h |
deleted file mode 100644 |
index 7685243f9d2901e9c71c7cd66b6f61f356e5cfc3..0000000000000000000000000000000000000000 |
--- a/content/browser/geofencing/geofencing_service.h |
+++ /dev/null |
@@ -1,110 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CONTENT_BROWSER_GEOFENCING_GEOFENCING_SERVICE_H_ |
-#define CONTENT_BROWSER_GEOFENCING_GEOFENCING_SERVICE_H_ |
- |
-#include <stdint.h> |
- |
-#include <map> |
-#include <memory> |
- |
-#include "base/compiler_specific.h" |
-#include "base/macros.h" |
-#include "content/common/content_export.h" |
-#include "content/common/geofencing_types.h" |
- |
-namespace base { |
-template <typename T> |
-struct DefaultSingletonTraits; |
-} |
- |
-namespace blink { |
-struct WebCircularGeofencingRegion; |
-}; |
- |
-namespace content { |
- |
-class GeofencingProvider; |
-class GeofencingRegistrationDelegate; |
- |
-// This interface exists primarily to facilitate testing of classes that depend |
-// on GeofencingService. It defines the interface exposed by |
-// |GeofencingService|. |
-class GeofencingService { |
- public: |
- virtual ~GeofencingService() {} |
- |
- // Returns if a geofencing service is available. |
- virtual bool IsServiceAvailable() = 0; |
- |
- // Register a region. This returns a unique registration ID, and |
- // asynchronously calls the |delegate|s RegistrationFinished method to |
- // inform the delegate of the result of the attempt to register the region. |
- // This does not transfer ownership of the |delegate|. Callers have to ensure |
- // that the delegate remains valid as long as the region is registered. |
- virtual int64_t RegisterRegion( |
- const blink::WebCircularGeofencingRegion& region, |
- GeofencingRegistrationDelegate* delegate) = 0; |
- |
- // Unregister a region. This is assumed to always succeed. It is safe to call |
- // this even if a registration is still in progress. |
- virtual void UnregisterRegion(int64_t geofencing_registration_id) = 0; |
-}; |
- |
-// This class combines all the geofence registrations from the various per |
-// storage partition |GeofencingManager| instances, and registers a subset |
-// of those fences with an underlying platform specific |GeofencingProvider|. |
-// TODO(mek): Limit the number of geofences that are registered with the |
-// underlying GeofencingProvider. |
-class CONTENT_EXPORT GeofencingServiceImpl |
- : NON_EXPORTED_BASE(public GeofencingService) { |
- public: |
- // Gets a pointer to the singleton instance of the geofencing service. This |
- // must only be called on the IO thread so that the GeofencingService is |
- // always instantiated on the same thread. Ownership is NOT returned. |
- static GeofencingServiceImpl* GetInstance(); |
- |
- // GeofencingServiceInterface implementation. |
- bool IsServiceAvailable() override; |
- int64_t RegisterRegion(const blink::WebCircularGeofencingRegion& region, |
- GeofencingRegistrationDelegate* delegate) override; |
- void UnregisterRegion(int64_t geofencing_registration_id) override; |
- |
- protected: |
- friend class GeofencingServiceTest; |
- friend struct base::DefaultSingletonTraits<GeofencingServiceImpl>; |
- GeofencingServiceImpl(); |
- ~GeofencingServiceImpl() override; |
- |
- void SetProviderForTesting(std::unique_ptr<GeofencingProvider> provider); |
- int RegistrationCountForTesting(); |
- |
- private: |
- struct Registration; |
- typedef std::map<int64_t, Registration> RegistrationsMap; |
- |
- // This method checks if a |GeofencingProvider| exists, creates a new one if |
- // not, and finally returns false if it can't create a provider for the |
- // current platform. |
- bool EnsureProvider(); |
- |
- // Returns a new unique ID to use for the next geofence registration. |
- int64_t GetNextId(); |
- |
- // Notifies the correct delegate that registration has completed for a |
- // specific geofence registration. |
- void NotifyRegistrationFinished(int64_t geofencing_registration_id, |
- GeofencingStatus status); |
- |
- int64_t next_registration_id_; |
- RegistrationsMap registrations_; |
- std::unique_ptr<GeofencingProvider> provider_; |
- |
- DISALLOW_COPY_AND_ASSIGN(GeofencingServiceImpl); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_BROWSER_GEOFENCING_GEOFENCING_SERVICE_H_ |