PDC09 – Pre-Conference – Windows Bootcamp Part 6/6 – Windows Sensors and Location
Sensor Platform Overview
-
Develop better and more productive user experiences
- Enable environmentally adaptive user interface
-
Windows 7 features a unified API for working with sensors
- No need to target vendor-specific APIs
- Consistent interface for sensors, extensions for location
- Access control and privacy
Sensor Platform Architecture
- Applications
- Sensor API
- Sensor class extensions
- UMDF Sensor Driver
- Sensor Device
Sensor class extensions and Sensor API connect to the Location and Other sensors control panel
Privacy and Access Control
-
Sensor data is considered personal
- User consent is required to share data
- All sensors are disabled by default
- Can be preconfigured per user/services
- Administrator rights required to enabled a sensor
What is a Sensor?
-
Category and Type
- Category, represents what is being sensed
- Type, represents how it’s being sensed
-
Properties
- Read-only (Model, Serial Number) or read-write (Report Interval)
- Sensors may have custom properties
-
Data
- Get sensor-specific data report object synchronously or asynchronously (recommended approach)
-
Events
- State change, leave, data updated, other
-
State
- Is sensor working properly? What is the problem?
Sensor API Architecture
-
Native/Win32 API
- COM Based (includes sensorsapi.h and sensors.h)
-
Consist in the following interfaces
- ISensorManager
- ISensor
- ISensorDataReport
-
Windows API CodePack
- Managed class library to ease .NET Framework access to the Sensor and Location APIs
Location Platform
-
A single API call to answer. Where I am?
- Enabled location based services
- Adjust functionality based on location changes
-
Built on top of the sensor API
- Automatic transition between providers (most accurate providers have priority)
- Concurrent access for multiple applications
- Managed Wrapper
- In .NET 4 we’ll use the System.Devices namespace where this will be placed