Skip to content

Best Practices

Data Source will try to create and initialize all datasources using swift reflection by the specified class name in the configuration. Each datasource has a set of parameters that define how data will be retrieved.

Configuration

Default configuration is done in default_sdk_datasourcecenter.json which is located in the Resources directory of TelenavDataSourceCenter pod.

Below is an example datasourcecenter configuration, the class name TNIOSDataSource stands for explicit swift class derived from TelenavDataSourceCenter to be loaded, the package name is used to separate between different sensor grouping/packaging, and for each package we have three collect levels: low, medium and high, high level means more sensors in the package and events are collected in higher frequency.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
{
    "datasource_center": {
        "load_package": [
        {
            "package_class_name": "TNIOSDataSource",
            "package_name": "gpsPackage",
            "collect_level": "medium"
        },
        {
            "package_class_name": "TNIOSDataSource",
            "package_name": "basePackage",
            "collect_level": "medium"
        }
        ],
        "comments": "Both 'package_name' and 'collect_level' case sensitive and 'collect_level' only accept 'low', 'medium', and 'high' with case insensitive"
    }
}