blob: 6b5d5abe62182a5cbf509fa4603f655fb9d16657 [file] [log] [blame]
// Copyright 2013 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_PUBLIC_CPP_MOTION_DATA_H_
#define DEVICE_SENSORS_PUBLIC_CPP_MOTION_DATA_H_
namespace device {
#pragma pack(push, 1)
class MotionData {
public:
MotionData();
MotionData(const MotionData& other);
~MotionData() {}
double acceleration_x;
double acceleration_y;
double acceleration_z;
double acceleration_including_gravity_x;
double acceleration_including_gravity_y;
double acceleration_including_gravity_z;
double rotation_rate_alpha;
double rotation_rate_beta;
double rotation_rate_gamma;
double interval;
bool has_acceleration_x : 1;
bool has_acceleration_y : 1;
bool has_acceleration_z : 1;
bool has_acceleration_including_gravity_x : 1;
bool has_acceleration_including_gravity_y : 1;
bool has_acceleration_including_gravity_z : 1;
bool has_rotation_rate_alpha : 1;
bool has_rotation_rate_beta : 1;
bool has_rotation_rate_gamma : 1;
bool all_available_sensors_are_active : 1;
};
static_assert(sizeof(MotionData) == (10 * sizeof(double) + 2 * sizeof(char)),
"MotionData has wrong size");
#pragma pack(pop)
} // namespace device
#endif // DEVICE_SENSORS_PUBLIC_CPP_MOTION_DATA_H_