CSSensorRequirements Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | CSSensorRequirements.h |
Overview
Handles requirements. Requirements are a layer on top of settings that help dealing with several incompatible settings. Right now requirements should be used to handle the enabling and disabling of sensors and to set the sample interval and accuracy for a sensor. Whenever two different consumer set different intervals or accuracies, the lowest value is used.
Requirements are organized and stored per consumer. Hence, when setting a requirement one has to provide a unique string that identifies the consumer. This way, it is easy to remove consumer-related requirements later on again.
Here is some example code for setting requirements, enabling four sensors and setting the sample interval and accuracy:
NSString* consumerName = @"com.consumer.name";
NSArray* commonRequirements = @[
@{kCSREQUIREMENT_FIELD_SENSOR_NAME:kCSSENSOR_ACCELERATION, kCSREQUIREMENT_FIELD_SAMPLE_INTERVAL:@35},
@{kCSREQUIREMENT_FIELD_SENSOR_NAME:kCSSENSOR_ACCELEROMETER_BURST, kCSREQUIREMENT_FIELD_SAMPLE_INTERVAL:@30},
@{kCSREQUIREMENT_FIELD_SENSOR_NAME:kCSSENSOR_NOISE, kCSREQUIREMENT_FIELD_SAMPLE_INTERVAL:@10},
@{kCSREQUIREMENT_FIELD_SENSOR_NAME:kCSSENSOR_LOCATION, kCSREQUIREMENT_FIELD_SAMPLE_ACCURACY:@10000}
];
[[CSSensorRequirements sharedRequirements] setRequirements:commonRequirements byConsumer:consumerName];
+ sharedRequirements
Get singleton instance
+ (CSSensorRequirements *)sharedRequirementsDeclared In
CSSensorRequirements.h
+ requirementForSensor:
Helper function to create a requirement for a sensor
+ (NSDictionary *)requirementForSensor:(NSString *)sensorParameters
sensor |
The sensor name for the sensor that should be enabled |
|---|
Declared In
CSSensorRequirements.h
+ requirementForSensor:withInterval:
Helper function to create a requirement for a sensor with an interval
+ (NSDictionary *)requirementForSensor:(NSString *)sensor withInterval:(NSTimeInterval)intervalParameters
sensor |
The sensor name for the sensor that should be enabled with a certain interval |
|---|---|
interval |
Time interval describing the frequency with which the sensor should poll new data |
Declared In
CSSensorRequirements.h
– setRequirements:byConsumer:
Set requirements for a specific consumer. Overwrites previous requirement for the consumer
- (void)setRequirements:(NSArray *)requirements byConsumer:(NSString *)consumerParameters
requirements |
Array of requirements to set for that consumer. See the example above for an example of the format |
|---|---|
consumer |
Unique identifier for the consumer setting the requirement (e.g. app identifier or library identifier) |
Declared In
CSSensorRequirements.h
– clearRequirementsForConsumer:
Clear the requirements of a consumer
- (void)clearRequirementsForConsumer:(NSString *)consumerParameters
consumer |
Identifier of the consumer for which the requirements should be cleared. |
|---|
Declared In
CSSensorRequirements.h
isEnabled
Whether the requirements are enabled or disabled. They are enabled by default. If disabled, changing a requirement will not affect the settings
@property (nonatomic) BOOL isEnabledDeclared In
CSSensorRequirements.h