hal/HalSensor.h
author B2G Bumper Bot <release+b2gbumper@mozilla.com>
Mon, 23 Mar 2015 03:30:34 -0700
changeset 235146 a0a34a83fa18518942ec1ed37ea1c5f2145fe33e
parent 178346 17597c063177b626d27d25b3852d2c21fe68bc5f
child 237079 3e459fb85c8f03d6c5220794ad4602842a79b900
permissions -rw-r--r--
Bumping gaia.json for 2 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/f0a4673c12a1 Author: Borja Salguero <borjasalguero@users.noreply.github.com> Desc: Merge pull request #28946 from jpruden92/bug1144577-system Bug 1144577 - 'More info...' link appears on permission prompt when it hasn't info r=timdream ======== https://hg.mozilla.org/integration/gaia-central/rev/c03fcdf7e473 Author: jprudencio <jpruden92@gmail.com> Desc: Bug 1144577 - 'More info...' link appears on permission prompt when it hasn't info

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set sw=2 ts=8 et ft=cpp : */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef __HAL_SENSOR_H_
#define __HAL_SENSOR_H_

#include "mozilla/Observer.h"

namespace mozilla {
namespace hal {

/**
 * Enumeration of sensor types.  They are used to specify type while
 * register or unregister an observer for a sensor of given type.
 */
enum SensorType {
  SENSOR_UNKNOWN = -1,
  SENSOR_ORIENTATION,
  SENSOR_ACCELERATION,
  SENSOR_PROXIMITY,
  SENSOR_LINEAR_ACCELERATION,
  SENSOR_GYROSCOPE,
  SENSOR_LIGHT,
  NUM_SENSOR_TYPE
};

class SensorData;

typedef Observer<SensorData> ISensorObserver;

/**
 * Enumeration of sensor accuracy types.
 */
enum SensorAccuracyType {
  SENSOR_ACCURACY_UNKNOWN = -1,
  SENSOR_ACCURACY_UNRELIABLE,
  SENSOR_ACCURACY_LOW,
  SENSOR_ACCURACY_MED,
  SENSOR_ACCURACY_HIGH,
  NUM_SENSOR_ACCURACY_TYPE
};

class SensorAccuracy;

typedef Observer<SensorAccuracy> ISensorAccuracyObserver;

}
}

#include "ipc/IPCMessageUtils.h"

namespace IPC {
  /**
   * Serializer for SensorType
   */
  template <>
  struct ParamTraits<mozilla::hal::SensorType>:
    public ContiguousEnumSerializer<
             mozilla::hal::SensorType,
             mozilla::hal::SENSOR_UNKNOWN,
             mozilla::hal::NUM_SENSOR_TYPE> {
  };

  template <>
  struct ParamTraits<mozilla::hal::SensorAccuracyType>:
    public ContiguousEnumSerializer<
             mozilla::hal::SensorAccuracyType,
             mozilla::hal::SENSOR_ACCURACY_UNKNOWN,
             mozilla::hal::NUM_SENSOR_ACCURACY_TYPE> {

  };
} // namespace IPC

#endif /* __HAL_SENSOR_H_ */