Home Reference Source Test
public class | source

SensorHandler

Main class for handling sensors. This class allows get, watch, etc. of sensors.

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public
public
public

sensors: {}

Method Summary

Public Methods
public

addSensorEvent(sensorName: string, eventName: string, handle: function): boolean

Adds sensor event.

public

get(sensorName: string): *

Get sensor once.

public

Gets usable sensor names

public

removeSensorEvent(sensorName: string, eventName: string, handle: function): boolean

Removes sensor event.

public

stop(sensorName: string): promise

Stops watching sensor.

public

stopAll(): promise

Stops watching all.

public

Update registered sensor listeners.

public

watch(sensorName: string, options: object): promise

Watch sensor from RawSensorWatcher.

public

watchAll(): promise

Watches all available sensors.

Private Methods
private

_SensorState(): SensorState

Current state of sensor

private

Data event used when no event to handle sensor data is provided.

private

Gets number of times sensor created

private

Increment sensor creation count

private

_setSensorState(sensorName: string, settings: object): *

Sets sensor state.

Public Constructors

public constructor() source

Public Members

public rawSensorWatcher: * source

public sensorCreationCounts: {} source

public sensors: {} source

Public Methods

public addSensorEvent(sensorName: string, eventName: string, handle: function): boolean source

Adds sensor event. Multiple at same time ok.

Params:

NameTypeAttributeDescription
sensorName string
eventName string
handle function

Return:

boolean

success/failure

public get(sensorName: string): * source

Get sensor once. Should stop watching sensor if newly made.

Params:

NameTypeAttributeDescription
sensorName string

Return:

*

public getMappedSensorNames(): array source

Gets usable sensor names

Return:

array

sensor names

public removeSensorEvent(sensorName: string, eventName: string, handle: function): boolean source

Removes sensor event. Only removes handle specified.

Params:

NameTypeAttributeDescription
sensorName string
eventName string
handle function

Return:

boolean

success/failure

public stop(sensorName: string): promise source

Stops watching sensor.

Params:

NameTypeAttributeDescription
sensorName string

Return:

promise

public stopAll(): promise source

Stops watching all.

Return:

promise

public updateSensorListeners(handle: Function) source

Update registered sensor listeners. Pass handle with one argument. MUST return. Dynamic updating during watching may result in bugs.

Params:

NameTypeAttributeDescription
handle Function

handle taking object map of registered SensorListeners

public watch(sensorName: string, options: object): promise source

Watch sensor from RawSensorWatcher. Ignores duplicates. options: { events: { data: function(data){} } }

Params:

NameTypeAttributeDescription
sensorName string
options object

optional options

Return:

promise

promise resolving SensorState

public watchAll(): promise source

Watches all available sensors.

Return:

promise

Resolves array of SensorStates. However allows for failing returning null.

Private Methods

private _SensorState(): SensorState source

Current state of sensor

Return:

SensorState

private _getDefaultDataEvent(sensorName: String): Function source

Data event used when no event to handle sensor data is provided. Stringifies data and logs.

Params:

NameTypeAttributeDescription
sensorName String

Return:

Function

private _getSensorCreationCount(sensorName: String): Number source

Gets number of times sensor created

Params:

NameTypeAttributeDescription
sensorName String

Return:

Number

sensor creation count

private _incSensorCreationCount(sensorName: String): Number source

Increment sensor creation count

Params:

NameTypeAttributeDescription
sensorName String

Return:

Number

sensor creation count

private _setSensorState(sensorName: string, settings: object): * source

Sets sensor state. Requires settings.events.

Params:

NameTypeAttributeDescription
sensorName string
settings object

Return:

*