How rdkcentral/thunderpluginactivator works
Plugin Activator is a command-line utility for starting a named Thunder plugin, with retries for connection or request failures. The workflow parses options, creates a COM-RPC starter, contacts Thunder’s PluginInitializer service, and waits for an asynchronous activation result. The starter interface leaves room for another transport, but the README and sampled implementation describe only COM-RPC. Logging is the main supporting layer. The graph reflects sampled calls and documented systemd use; it does not assume details of Thunder’s internal service implementation.
Main entry points: COMRPCStarter.cpp COM-RPC activation · main.cpp CLI entry and options · Log.cpp Logging · IPluginStarter.h Starter interface
Components 8
Command line
- CLI entry and options
source/main.cpp
Plugin activation
- Starter interface
source/IPluginStarter.h - COM-RPC activation
source/COMRPCStarter.cpp - Async result callback
source/COMRPCStarter.cpp
Supporting services
- Logging
source/Log.cpp
Other components
- systemd or operator
- Thunder runtime
- PluginInitializer service
Connections 9
- systemd or operator → CLI entry and options: runs
README.md - CLI entry and options → Logging: initializes
source/main.cpp - CLI entry and options → COM-RPC activation: creates and calls
source/main.cpp - COM-RPC activation → Starter interface: implements
- COM-RPC activation → Thunder runtime: opens controller
source/COMRPCStarter.cpp - COM-RPC activation → PluginInitializer service: queries and activates
source/COMRPCStarter.cpp - COM-RPC activation → Async result callback: registers callback
source/COMRPCStarter.cpp - Async result callback → COM-RPC activation: signals result
source/COMRPCStarter.cpp - COM-RPC activation → Logging: logs status
source/COMRPCStarter.cpp