| /* |
| * Copyright (C) 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #include "chre/platform/platform_sensor.h" |
| |
| namespace chre { |
| |
| void PlatformSensorBase::initBase(uint8_t sensorType, uint64_t minInterval, |
| const char *sensorName, bool passiveSupported, |
| uint16_t targetGroupMask) { |
| mSensorType = sensorType; |
| mMinInterval = minInterval; |
| memcpy(mSensorName, sensorName, kSensorNameMaxLen); |
| |
| mPassiveSupported = passiveSupported; |
| mTargetGroupMask = targetGroupMask; |
| } |
| |
| uint8_t PlatformSensor::getSensorType() const { |
| return mSensorType; |
| } |
| |
| uint64_t PlatformSensor::getMinInterval() const { |
| return mMinInterval; |
| } |
| |
| bool PlatformSensor::reportsBiasEvents() const { |
| return PlatformSensorTypeHelpersBase::reportsBias(mSensorType); |
| } |
| |
| bool PlatformSensor::supportsPassiveMode() const { |
| return mPassiveSupported; |
| } |
| |
| const char *PlatformSensor::getSensorName() const { |
| return mSensorName; |
| } |
| |
| uint16_t PlatformSensor::getTargetGroupMask() const { |
| return mTargetGroupMask; |
| } |
| |
| PlatformSensor::PlatformSensor(PlatformSensor &&other) { |
| *this = std::move(other); |
| } |
| |
| uint8_t PlatformSensor::getSensorIndex() const { |
| return CHRE_SENSOR_INDEX_DEFAULT; |
| } |
| |
| PlatformSensor &PlatformSensor::operator=(PlatformSensor &&other) { |
| // Note: if this implementation is ever changed to depend on "this" containing |
| // initialized values, the move constructor implementation must be updated. |
| mSensorType = other.mSensorType; |
| mMinInterval = other.mMinInterval; |
| mPassiveSupported = other.mPassiveSupported; |
| mTargetGroupMask = other.mTargetGroupMask; |
| |
| memcpy(mSensorName, other.mSensorName, kSensorNameMaxLen); |
| |
| return *this; |
| } |
| |
| } // namespace chre |