Overview
- The Component registry is a centralised database of registered components and services, which supports multiple management protocols and data models, such as SNMP and TR-069 with TR-181.
- The Component Registrar(CR) in RDK-B Architecture section gives an overview of CCSP Component Registrar, what it contains and illustrates how it is used by other internal components and client applications.
- The “Component Registrar” works like an internal name server.
- Allows other components to register the internal data model objects that they support and the DBuspath used to reach these objects
- Component Registrar provides this information , when other components need to determine what features are available in a particular software build and discover how to access these features
- Through these capabilities, this mechanism provides a flexible way to build a software system that can use any number of software components, allows components to discover what features are available and how to access these features
- Maintains the status and health of all registered components
How it Works?
- When a component needs to interact with an object it first asks Component Registrar for a bus address for the object.
- Component Registrar responds with the object address (if the object exists in this software build), hence the object can be accessed.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlotWW9nb21heWEgTWFoYXJhbmEiLCJvdXRwdXRUeXBlIjoiYmxvY2siLCJsYXN0TW9kaWZpZXJOYW1lIjoiWi1Zb2dvbWF5YSBNYWhhcmFuYSIsImxhbmd1YWdlIjoiZW4iLCJ1aUNvbmZpZyI6Int9IiwiZGlhZ3JhbURpc3BsYXlOYW1lIjoiIiwic0ZpbGVJZCI6IiIsImF0dElkIjoiMTQ0OTAxNTQwIiwiZGlhZ3JhbU5hbWUiOiJDQ1NQY3IuZHJhd2lvIiwiYXNwZWN0IjoiIiwibGlua3MiOiJhdXRvIiwiY2VvTmFtZSI6IkNjc3BDciIsInRic3R5bGUiOiJ0b3AiLCJjYW5Db21tZW50IjpmYWxzZSwiZGlhZ3JhbVVybCI6IiIsImNzdkZpbGVVcmwiOiIiLCJib3JkZXIiOnRydWUsIm1heFNjYWxlIjoiMSIsIm93bmluZ1BhZ2VJZCI6MjEzNjU2NjgsImVkaXRhYmxlIjpmYWxzZSwiY2VvSWQiOjIxMzY1NjY4LCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjoxLCJtYWNyb0lkIjoiYWEyZGMxNTAtZmYyMi00ODZiLWE2NWItNjZiNjkyMmRkNDkzIiwicHJldmlld05hbWUiOiJDQ1NQY3IuZHJhd2lvLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiJudWxsIiwic2ltcGxlVmlld2VyIjpmYWxzZSwibGFzdE1vZGlmaWVkIjoxNjE0Njk0NTUyMDAwLCJleGNlZWRQYWdlV2lkdGgiOmZhbHNlLCJvQ2xpZW50SWQiOiIifQ==
APIs
Some of the APIs supported by Component Registrar:
API | Description |
registerCapabilities | Components to use this API to register supported parameters and objects with Cr |
unregistername_space | API to unregister a specific parameter/object |
unregisterComponent | API to deregister a specific component |
discComponentSupportingNamespace | API to discover the component supporting a parameter or object |
checkNamespaceDataType | API to discover the data type of the parameters supported |
getRegisteredComponents | API to discover all the registered components at that time |
discNamespaceSupportedByComponent | API to discover all the parameters registered by a component |
Sequence of API calls to be used to register component
Example of registering PAM component
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlotWW9nb21heWEgTWFoYXJhbmEiLCJvdXRwdXRUeXBlIjoiYmxvY2siLCJsYXN0TW9kaWZpZXJOYW1lIjoiWi1Zb2dvbWF5YSBNYWhhcmFuYSIsImxhbmd1YWdlIjoiZW4iLCJ1aUNvbmZpZyI6Int9IiwiZGlhZ3JhbURpc3BsYXlOYW1lIjoiIiwic0ZpbGVJZCI6IiIsImF0dElkIjoiMTQ0OTAxNTM4IiwiZGlhZ3JhbU5hbWUiOiJQYW5kTV9Db21wX1JlZ19JbiBDY3NwQ1IuZHJhd2lvIiwiYXNwZWN0IjoiIiwibGlua3MiOiJhdXRvIiwiY2VvTmFtZSI6IkNjc3BDciIsInRic3R5bGUiOiJ0b3AiLCJjYW5Db21tZW50IjpmYWxzZSwiZGlhZ3JhbVVybCI6IiIsImNzdkZpbGVVcmwiOiIiLCJib3JkZXIiOnRydWUsIm1heFNjYWxlIjoiMSIsIm93bmluZ1BhZ2VJZCI6MjEzNjU2NjgsImVkaXRhYmxlIjpmYWxzZSwiY2VvSWQiOjIxMzY1NjY4LCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjoxLCJtYWNyb0lkIjoiMzUxZTY2M2ItNTkxMi00ZGZjLTgzZGUtYzc4ODI4NGU1MTQwIiwicHJldmlld05hbWUiOiJQYW5kTV9Db21wX1JlZ19JbiBDY3NwQ1IuZHJhd2lvLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiJudWxsIiwic2ltcGxlVmlld2VyIjpmYWxzZSwibGFzdE1vZGlmaWVkIjoxNjE0Njk0NTUyMDAwLCJleGNlZWRQYWdlV2lkdGgiOmZhbHNlLCJvQ2xpZW50SWQiOiIifQ==