RDK Documentation (Open Sourced RDK Components)
Device Settings Module

Description

RDK Device Settings library is a cross-platform library for controlling the following hardware configurations:

The library is split into three major components

Application Level API
This is the API that application should use to control hardware configurations in a platform independent way. It also hides single-app and multi-app difference of the implementation from the applications. This allows the application to switch among different SoC versions or between single or multi app mode freely. Eg : API to get the current video resolution : const VideoResolution & VideoOutputPort::getResolution() const
SoC Level API
SoC Level APIs that that need to implement by SoC vendors. It provides primitive and hardware specific implementation for each controllable aspect of their device. This level API is considered single-app mode only, even though its SoC implementation may potentially support multiple-app mode. Eg: API to get the current video resolution : dsError_t dsGetResolution ( intptr_t handle, dsVideoPortResolution_t *resolution )
IARM Support
If multiple applications need to control the device settings simultaneously, this component turns the single-app mode SoC level API into multi-app mode. Even though some SoC vendors implement the SoC level API to be multi-app capable, we still use Comcast’s IARM support to achieve multiple-app mode. This allows the Application level API to remain truly platform neutral.
Architectural Overview
The Device Settings (DS) registers its services with the service manager. The Application uses/calls the DS Public API through service manager and DS Public API’s intern calls the underlying SoC level API’s to perform the required functionality.

Modules

 Device Settings API list
 Described the details about Public APIs provided by Device Settings module.
 
 Device Settings Classes
 
 Device Settings HAL Types & Public API
 HAL types and public API definitions for SoC/OEM components of the RDK.