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.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlVua25vd24gVXNlciAoeW1haGFyYW5hKSIsIm91dHB1dFR5cGUiOiJibG9jayIsImxhc3RNb2RpZmllck5hbWUiOiJVbmtub3duIFVzZXIgKHltYWhhcmFuYSkiLCJsYW5ndWFnZSI6ImVuIiwidWlDb25maWciOiJ7fSIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE0NDkwMTU0MCIsImRpYWdyYW1OYW1lIjoiQ0NTUGNyLmRyYXdpbyIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJDY3NwQ3IiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjIxMzY1NjY4LCJlZGl0YWJsZSI6ZmFsc2UsImNlb0lkIjoyMTM2NTY2OCwicGFnZUlkIjoiIiwibGJveCI6dHJ1ZSwic2VydmVyQ29uZmlnIjp7ImVtYWlscHJldmlldyI6IjEifSwib2RyaXZlSWQiOiIiLCJyZXZpc2lvbiI6MSwibWFjcm9JZCI6ImFhMmRjMTUwLWZmMjItNDg2Yi1hNjViLTY2YjY5MjJkZDQ5MyIsInByZXZpZXdOYW1lIjoiQ0NTUGNyLmRyYXdpby5wbmciLCJsaWNlbnNlU3RhdHVzIjoiT0siLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoibnVsbCIsInNpbXBsZVZpZXdlciI6ZmFsc2UsImxhc3RNb2RpZmllZCI6MTYxNDY5NDU1MjAwMCwiZXhjZWVkUGFnZVdpZHRoIjpmYWxzZSwib0NsaWVudElkIjoiIn0=
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
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlVua25vd24gVXNlciAoeW1haGFyYW5hKSIsIm91dHB1dFR5cGUiOiJibG9jayIsImxhc3RNb2RpZmllck5hbWUiOiJVbmtub3duIFVzZXIgKHltYWhhcmFuYSkiLCJsYW5ndWFnZSI6ImVuIiwidWlDb25maWciOiJ7fSIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE0NDkwMTUzOCIsImRpYWdyYW1OYW1lIjoiUGFuZE1fQ29tcF9SZWdfSW4gQ2NzcENSLmRyYXdpbyIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJDY3NwQ3IiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjIxMzY1NjY4LCJlZGl0YWJsZSI6ZmFsc2UsImNlb0lkIjoyMTM2NTY2OCwicGFnZUlkIjoiIiwibGJveCI6dHJ1ZSwic2VydmVyQ29uZmlnIjp7ImVtYWlscHJldmlldyI6IjEifSwib2RyaXZlSWQiOiIiLCJyZXZpc2lvbiI6MSwibWFjcm9JZCI6IjM1MWU2NjNiLTU5MTItNGRmYy04M2RlLWM3ODgyODRlNTE0MCIsInByZXZpZXdOYW1lIjoiUGFuZE1fQ29tcF9SZWdfSW4gQ2NzcENSLmRyYXdpby5wbmciLCJsaWNlbnNlU3RhdHVzIjoiT0siLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoibnVsbCIsInNpbXBsZVZpZXdlciI6ZmFsc2UsImxhc3RNb2RpZmllZCI6MTYxNDY5NDU1MjAwMCwiZXhjZWVkUGFnZVdpZHRoIjpmYWxzZSwib0NsaWVudElkIjoiIn0=