• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef CHRE_CORE_SENSOR_REQUEST_IMPL_H_
18 #define CHRE_CORE_SENSOR_REQUEST_IMPL_H_
19 
20 #include "chre/core/sensor_request.h"
21 
22 namespace chre {
23 
sensorModeIsActive(SensorMode sensorMode)24 constexpr bool sensorModeIsActive(SensorMode sensorMode) {
25   return (sensorMode == SensorMode::ActiveContinuous
26       || sensorMode == SensorMode::ActiveOneShot);
27 }
28 
sensorModeIsContinuous(SensorMode sensorMode)29 constexpr bool sensorModeIsContinuous(SensorMode sensorMode) {
30   return (sensorMode == SensorMode::ActiveContinuous
31       || sensorMode == SensorMode::PassiveContinuous);
32 }
33 
sensorModeIsOneShot(SensorMode sensorMode)34 constexpr bool sensorModeIsOneShot(SensorMode sensorMode) {
35   return (sensorMode == SensorMode::ActiveOneShot
36       || sensorMode == SensorMode::PassiveOneShot);
37 }
38 
getSensorTypeArrayIndex(SensorType sensorType)39 constexpr size_t getSensorTypeArrayIndex(SensorType sensorType) {
40   return static_cast<size_t>(sensorType) - 1;
41 }
42 
getSensorTypeCount()43 constexpr size_t getSensorTypeCount() {
44   // The number of valid entries in the SensorType enum (not including Unknown).
45   return static_cast<size_t>(SensorType::SENSOR_TYPE_COUNT) - 1;
46 }
47 
getSensorHandleFromSensorType(SensorType sensorType)48 constexpr uint32_t getSensorHandleFromSensorType(SensorType sensorType) {
49   return static_cast<uint32_t>(sensorType);
50 }
51 
getSensorTypeFromSensorHandle(uint32_t handle)52 constexpr SensorType getSensorTypeFromSensorHandle(uint32_t handle) {
53   return (handle > static_cast<uint32_t>(SensorType::Unknown)
54           && handle < static_cast<uint32_t>(SensorType::SENSOR_TYPE_COUNT))
55       ? static_cast<SensorType>(handle) : SensorType::Unknown;
56 }
57 
58 }  // namespace chre
59 
60 #endif  // CHRE_CORE_SENSOR_REQUEST_IMPL_H_
61