| Index: device/sensors/data_fetcher_shared_memory_base.h
|
| diff --git a/device/sensors/data_fetcher_shared_memory_base.h b/device/sensors/data_fetcher_shared_memory_base.h
|
| deleted file mode 100644
|
| index 2fa3663c019504d9db518fbf3207d56139c644ce..0000000000000000000000000000000000000000
|
| --- a/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 DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_BASE_H_
|
| -#define 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 "device/sensors/device_sensor_export.h"
|
| -#include "device/sensors/device_sensors_consts.h"
|
| -#include "mojo/public/cpp/system/buffer.h"
|
| -
|
| -namespace device {
|
| -
|
| -// 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 DEVICE_SENSOR_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 device
|
| -
|
| -#endif // DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_BASE_H_
|
|
|