Add new Common Folder to Thunder#2137
Open
nxtum wants to merge 4 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a new Source/common/ library to host shared PluginHost implementation utilities (e.g., Channel/Service/JSONRPC/VirtualInput), and adjusts Thunder runtime/process builds and project files to consume it. This effectively makes Source/plugins/ more interface-focused while moving host-side implementations into the new Common component.
Changes:
- Added new
Source/common/library (CMake + VS project) containing PluginHost “implementation support” code and a public umbrella header<common/common.h>. - Updated
ThunderandThunderPluginto include/link the new Common library. - Updated CMake and Visual Studio solution/project files to add Common and to remove implementation sources from the
pluginsproject.
Reviewed changes
Copilot reviewed 28 out of 37 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Source/CMakeLists.txt | Adds common subdirectory to the build when PLUGINS is enabled. |
| Source/Thunder/Module.h | Includes <common/common.h> for access to Common headers. |
| Source/Thunder/CMakeLists.txt | Links Thunder executable against ${NAMESPACE}Common. |
| Source/ThunderPlugin/Module.h | Includes <common/common.h> for process-side access to Common headers. |
| Source/ThunderPlugin/CMakeLists.txt | Links ThunderPlugin (comprocess) against ${NAMESPACE}Common. |
| Source/Thunder.sln | Adds new common project and wires dependencies across solution projects. |
| Source/plugins/CMakeLists.txt | Converts plugins library toward interface-only content; adds PLUGINS_EXPORTS. |
| Source/plugins/plugins.h | Removes host-implementation includes; keeps only interface umbrella includes. |
| Source/plugins/plugins.vcxproj | Removes implementation .cpp/.h entries; keeps a lean plugins project definition. |
| Source/plugins/plugins.vcxproj.filters | Updates VS filters to match the trimmed plugins project contents. |
| Source/common/CMakeLists.txt | Defines new ${NAMESPACE}Common library target, links dependencies, installs headers. |
| Source/common/common.h | New umbrella header exporting Common’s public headers. |
| Source/common/common.vcxproj | New Visual Studio project for building the Common DLL. |
| Source/common/common.vcxproj.filters | VS filters for Common project source/header organization. |
| Source/common/Module.h | Common module header establishing build macros/includes for the Common component. |
| Source/common/Module.cpp | Common module implementation and module declaration wiring. |
| Source/common/Config.h | Common configuration toggles header. |
| Source/common/Configuration.h | Common configuration schema/types used by host-side code. |
| Source/common/Request.h | Common request/JSONRPC tracking and request pool types. |
| Source/common/Channel.h | Common WebSocket channel implementation support types. |
| Source/common/Channel.cpp | Defines static request pool and Channel ctor/dtor. |
| Source/common/Service.h | Common Service host-side support interface/types. |
| Source/common/Service.cpp | Common service helpers (notifications, file serving, node selection). |
| Source/common/System.h | Common factory singleton interface (IFactories) and deprecated aliases. |
| Source/common/System.cpp | Implements IFactories global instance assignment/lookup. |
| Source/common/Types.h | Moves/adjusts types to include plugin interfaces via <plugins/...>. |
| Source/common/Metadata.h | Updates includes to reference plugin interfaces via <plugins/...>. |
| Source/common/Metadata.cpp | Updates includes to reference plugin interfaces via <plugins/...>. |
| Source/common/JSONRPC.h | Updates includes to reference plugin interfaces via <plugins/...>; Common JSONRPC API surface. |
| Source/common/JSONRPC.cpp | Provides JSONRPC ctor/dtor implementations moved into Common. |
| Source/common/StateControl.h | Updates include to <plugins/IStateControl.h>. |
| Source/common/StateControl.cpp | Updates include to <plugins/IStateControl.h>. |
| Source/common/SubSystem.h | Updates include to <plugins/ISubSystem.h>. |
| Source/common/SubSystem.cpp | Updates include to <plugins/ISubSystem.h>. |
| Source/common/Shell.cpp | Updates include to <plugins/IShell.h>. |
| Source/common/VirtualInput.h | Updates include to <plugins/IVirtualInput.h>; virtual input APIs now in Common. |
| Source/common/VirtualInput.cpp | Adds VirtualInput implementation and IPC/Linux backends into Common. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
rdkcentral/ThunderClientLibraries#337
rdkcentral/ThunderNanoServices#968
WebPlatformForEmbedded/ThunderNanoServicesRDK#381
WebPlatformForEmbedded/ThunderOnWindows#16