## net.hadess.SensorProxy net.hadess.SensorProxy — D-Bus proxy to access hardware sensors |

## Methods

    ClaimAccelerometer   ();
    ReleaseAccelerometer ();
    ClaimLight           ();
    ReleaseLight         ();

## Properties

    HasAccelerometer          readable   b
    AccelerometerOrientation  readable   s
    HasAmbientLight           readable   b
    LightLevelUnit            readable   s
    LightLevel                readable   d

## Description

After checking the availability of the sensor type you want to monitor, call the ClaimAccelerometer() or the ClaimLight() method to start updating the properties from the hardware readings.

The object path will be "/net/hadess/SensorProxy".

## Method Details

### The ClaimAccelerometer() method

    ClaimAccelerometer ();

To start receiving accelerometer reading updates from the proxy, the application must call the ClaimAccelerometer() method. It can do so whether an accelerometer is available or not, updates would then be sent when an accelerometer appears.

Applications should call ReleaseAccelerometer() when readings are not required anymore. For example, an application that monitors the orientation of the main screen should stop monitoring for updates when that screen has been turned off.

This prevents the sensor proxy from polling the device, thus increasing wake-ups and reducing battery life.

### The ReleaseAccelerometer() method

    ReleaseAccelerometer ();

This should be called as soon as readings are not required anymore. Note that resources are freed up if a monitoring application exits without calling ReleaseAccelerometer(), crashes or the sensor disappears.

### The ClaimLight() method

    ClaimLight ();

To start receiving ambient light sensor reading updates from the proxy, the application must call the ClaimLight() method. It can do so whether an ambient light sensor is available or not, updates would then be sent when such a sensor appears.

Applications should call ReleaseLight() when readings are not required anymore. For example, an application that monitors the ambient light to change the screen brightness should stop monitoring for updates when that screen has been turned off.

This prevents the sensor proxy from polling the device, thus increasing wake-ups and reducing battery life.

### The ReleaseLight() method

    ReleaseLight ();

This should be called as soon as readings are not required anymore. Note that resources are freed up if a monitoring application exits without calling ReleaseLight(), crashes or the sensor disappears.

## Property Details

### The "HasAccelerometer" property

    HasAccelerometer  readable   b

Whether a supported accelerometer is present on the system.

### The "AccelerometerOrientation" property

    AccelerometerOrientation  readable   s

The detected orientation of the tablet or laptop. Possible values are: - undefined - normal - bottom-up - left-up - right-up

### The "HasAmbientLight" property

    HasAmbientLight  readable   b

Whether a supported ambient light sensor is present on the system.

### The "LightLevelUnit" property

    LightLevelUnit  readable   s

The unit used in Ambient Light Sensor readings. It is one of either "lux" or "vendor".

Note that different hardware will have different readings in the same condition, so values should be taken as relative.

When the unit is "vendor", readings will be a percentage with 100`` being the maximum reading.

### The "LightLevel" property

    LightLevel  readable   d

The ambient light sensor reading, in the unit exported in the "LightLevelUnit" property.