Index: content/browser/device_sensors/data_fetcher_shared_memory_base.h |
diff --git a/content/browser/device_sensors/data_fetcher_shared_memory_base.h b/content/browser/device_sensors/data_fetcher_shared_memory_base.h |
deleted file mode 100644 |
index f8326aac03791e2272280f3d97db6e450aa4539f..0000000000000000000000000000000000000000 |
--- a/content/browser/device_sensors/data_fetcher_shared_memory_base.h |
+++ /dev/null |
@@ -1,103 +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_DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_BASE_H_ |
-#define CONTENT_BROWSER_DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_BASE_H_ |
- |
-#include <map> |
-#include <memory> |
- |
-#include "base/macros.h" |
-#include "base/memory/shared_memory.h" |
-#include "base/message_loop/message_loop.h" |
-#include "content/browser/device_sensors/device_sensors_consts.h" |
-#include "content/common/content_export.h" |
-#include "mojo/public/cpp/system/buffer.h" |
- |
-namespace content { |
- |
-// Sensor data fetchers should derive from this base class and implement |
-// the abstract Start() and Stop() methods. |
-// If the fetcher requires polling it should also implement IsPolling() |
-// to return true and the Fetch() method which will be called from the |
-// polling thread to fetch data at regular intervals. |
-class CONTENT_EXPORT DataFetcherSharedMemoryBase { |
- public: |
- // Starts updating the shared memory buffer with sensor data at |
- // regular intervals. Returns true if the relevant sensors could |
- // be successfully activated. |
- bool StartFetchingDeviceData(ConsumerType consumer_type); |
- |
- // Stops updating the shared memory buffer. Returns true if the |
- // relevant sensors could be successfully deactivated. |
- bool StopFetchingDeviceData(ConsumerType consumer_type); |
- |
- // Should be called before destruction to make sure all active |
- // sensors are unregistered. |
- virtual void Shutdown(); |
- |
- // Returns the shared memory handle of the device sensor data. This method |
- // should only be called after a call to StartFetchingDeviceData method with |
- // corresponding |consumer_type| parameter. |
- mojo::ScopedSharedBufferHandle GetSharedMemoryHandle( |
- ConsumerType consumer_type); |
- |
- enum FetcherType { |
- // Fetcher runs on the same thread as its creator. |
- FETCHER_TYPE_DEFAULT, |
- // Fetcher runs on a separate thread calling |Fetch()| at regular intervals. |
- FETCHER_TYPE_POLLING_CALLBACK, |
- // Fetcher runs on a separate thread, but no callbacks are executed. |
- FETCHER_TYPE_SEPARATE_THREAD |
- }; |
- |
- protected: |
- class PollingThread; |
- |
- DataFetcherSharedMemoryBase(); |
- virtual ~DataFetcherSharedMemoryBase(); |
- |
- // Returns the message loop of the polling thread. |
- // Returns NULL if there is no polling thread. |
- base::MessageLoop* GetPollingMessageLoop() const; |
- |
- // If IsPolling() is true this method is called from the |polling_thread_| |
- // at regular intervals. |
- virtual void Fetch(unsigned consumer_bitmask); |
- |
- // Returns the type of thread this fetcher runs on. |
- virtual FetcherType GetType() const; |
- |
- // Returns the sensor sampling interval. In particular if this fetcher |
- // GetType() == FETCHER_TYPE_POLLING_CALLBACK the interval between |
- // successive calls to Fetch(). |
- virtual base::TimeDelta GetInterval() const; |
- |
- // Start() method should call InitSharedMemoryBuffer() to get the shared |
- // memory pointer. If IsPolling() is true both Start() and Stop() methods |
- // are called from the |polling_thread_|. |
- virtual bool Start(ConsumerType consumer_type, void* buffer) = 0; |
- virtual bool Stop(ConsumerType consumer_type) = 0; |
- |
- bool IsPollingTimerRunningForTesting() const; |
- |
- private: |
- bool InitAndStartPollingThreadIfNecessary(); |
- void* GetSharedMemoryBuffer(ConsumerType consumer_type); |
- |
- unsigned started_consumers_; |
- |
- std::unique_ptr<PollingThread> polling_thread_; |
- |
- using SharedMemoryMap = std::map<ConsumerType, |
- std::pair<mojo::ScopedSharedBufferHandle, |
- mojo::ScopedSharedBufferMapping>>; |
- SharedMemoryMap shared_memory_map_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DataFetcherSharedMemoryBase); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_BROWSER_DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_BASE_H_ |