Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
258448f
RDK-56460 : Fix camel case (#425)
npoltorapavlo Mar 14, 2025
16d1459
[IGRAPHICSBUFFER] As the ICompositionBuffer is a misleading name for …
pwielders Mar 17, 2025
7004751
[TimeSync] Update with JSON-RPC interface (#430)
VeithMetro Mar 24, 2025
bff399d
[IWifiControl] Aded for windows build and stored files in subsections…
pwielders Apr 2, 2025
d80672d
Make certain configs optional (#417)
nxtum Apr 7, 2025
a384932
[ISystemCommands] Update with JSON-RPC interface (#423)
VeithMetro Apr 9, 2025
2ad3109
[Power] Update with JSON-RPC interface (#427)
VeithMetro Apr 10, 2025
9ab6329
[IOConnector] Update with JSON-RPC interface (#426)
VeithMetro Apr 11, 2025
795557f
Remove ICompositionBuffer interface definition in favour of IGraphics…
bramoosterhuis Apr 14, 2025
0ff3793
Missing param names are added!
volkan-aslan Apr 22, 2025
735d1cb
Merge branch 'master' into development/fix-missing-param-names
volkan-aslan Apr 22, 2025
1669e14
Merge pull request #437 from rdkcentral/development/fix-missing-param…
volkan-aslan Apr 22, 2025
1b8caea
Merge branch 'master' into development/retirement-of-ICompositionBuffer
pwielders Apr 23, 2025
4c19ecb
Merge pull request #435 from rdkcentral/development/retirement-of-ICo…
bramoosterhuis Apr 28, 2025
cb7f521
Automatically remove the generated files during Clean in Visual Studi…
VeithMetro May 16, 2025
d952300
[ISubsystemControl] Update with JSON-RPC interface (#441)
VeithMetro May 22, 2025
9b1a233
DELIA-68186 : Update interface to have closeSessionResponse parameter
npoltorapavlo May 29, 2025
c8fbc77
Merge pull request #445 from npoltorapavlo/DELIA-68186
anand-ky Jun 5, 2025
f95a495
DELIA-68125 : Update interface to have representative examples
npoltorapavlo May 22, 2025
46c5bcf
Merge pull request #442 from npoltorapavlo/DELIA-68125
anand-ky Jun 6, 2025
eaffb6e
Make the IPower interface backwards compatible (#447)
VeithMetro Jun 16, 2025
6c73c1e
DELIA-68254 : Update the interface for handling the specified errors …
npoltorapavlo Jun 18, 2025
f54aded
Add stubgen includes
sebaszm Jul 1, 2025
3b15bb3
introduce PluginAsyncStateControl interface (#450)
MFransen69 Jul 1, 2025
034dc10
Add the Windows specific generator options to all build variants, not…
VeithMetro Jul 4, 2025
218650b
Merge branch 'master' into development/correct-includes-for-stubgen
pwielders Jul 9, 2025
34076eb
Merge pull request #448 from rdkcentral/development/correct-includes-…
sebaszm Jul 10, 2025
06d9004
Deploy cla action (#454)
rdkcmf-jenkins Aug 19, 2025
865e3f1
Update cla.yml (#458)
cedriclecoz Aug 20, 2025
c4590c0
Metrol 1145:move lookup and async example to master (#457)
sivarajappan-siva Sep 1, 2025
359f8f6
[Actions] Resolve ocassional errors from the package install step, op…
VeithMetro Sep 8, 2025
da8edb4
[examples] std::vector requires restrict (#461)
sebaszm Sep 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 43 additions & 16 deletions .github/workflows/Linux build template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,49 @@ jobs:
# ----- Packages & artifacts -----
name: Build type - ${{matrix.build_type}}${{matrix.architecture == '32' && ' x86' || ''}}
steps:
- name: Install necessary packages
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: 10
command: |
sudo gem install apt-spy2
sudo apt-spy2 fix --commit --launchpad --country=US
echo "deb http://archive.ubuntu.com/ubuntu/ jammy main universe restricted multiverse" | sudo tee -a /etc/apt/sources.list
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main universe restricted multiverse" | sudo tee -a /etc/apt/sources.list
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt install python3-pip build-essential cmake ninja-build libusb-1.0-0-dev ${{matrix.architecture == '32' && 'zlib1g-dev:i386 libssl-dev:i386 gcc-13-multilib g++-13-multilib' || 'zlib1g-dev libssl-dev'}}
python3 -m venv venv
source venv/bin/activate
pip install jsonref
- name: Prepare apt (add i386 if needed)
if: ${{ matrix.architecture == '32' }}
run: |
sudo dpkg --add-architecture i386

- name: Update apt indices (with retries)
shell: bash
run: |
set -euo pipefail
for attempt in {1..5}; do
if sudo apt-get update -o Acquire::Retries=5 -o Acquire::http::Timeout=30; then
break
fi
echo "apt-get update failed (attempt $attempt), retrying..."
sleep $((attempt*10))
done

- name: Install system dependencies
shell: bash
run: |
set -euo pipefail
export DEBIAN_FRONTEND=noninteractive
PKGS="python3-venv python3-pip build-essential cmake ninja-build libusb-1.0-0-dev"
if [ "${{ matrix.architecture }}" = "32" ]; then
PKGS="$PKGS zlib1g-dev:i386 libssl-dev:i386 libsbc-dev:i386 gcc-13-multilib g++-13-multilib"
else
PKGS="$PKGS zlib1g-dev libssl-dev libsbc-dev"
fi
for attempt in {1..4}; do
if sudo apt-get install -y --no-install-recommends $PKGS; then
break
fi
echo "apt-get install failed (attempt $attempt), cleaning up & retrying..."
sudo apt-get clean
sleep $((attempt*15))
done

- name: Set up Python environment
run: |
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install jsonref

- name: Download artifacts
uses: actions/download-artifact@v4
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: "CLA"
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]

permissions:
contents: read
pull-requests: write
actions: write
statuses: write

jobs:
CLA-Lite:
name: "Signature"
uses: rdkcentral/cmf-actions/.github/workflows/cla.yml@main
secrets:
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ASSISTANT }}
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,6 @@ if (BUILD_REFERENCE)
endif()

add_subdirectory(interfaces)
add_subdirectory(example_interfaces)
add_subdirectory(qa_interfaces)
add_subdirectory(definitions)
16 changes: 16 additions & 0 deletions definitions/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ set(WORKING_VARIABLE ${INTERFACES_PATTERNS})
list(TRANSFORM WORKING_VARIABLE PREPEND "${CMAKE_SOURCE_DIR}/qa_interfaces/")
file(GLOB QA_INTERFACE_FILE ${WORKING_VARIABLE})

separate_arguments(INTERFACES_PATTERNS)
set(WORKING_VARIABLE ${INTERFACES_PATTERNS})
list(TRANSFORM WORKING_VARIABLE PREPEND "${CMAKE_SOURCE_DIR}/example_interfaces/")
file(GLOB EXAMPLE_INTERFACE_FILE ${WORKING_VARIABLE})

set(PUBLIC_HEADERS "definitions.h" "ValuePoint.h" "Module.h")

if(NOT GENERATOR_SEARCH_PATH)
Expand All @@ -60,21 +65,27 @@ JsonGenerator(CODE INPUT ${JSON_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/genera
JsonGenerator(CODE INPUT ${QA_JSON_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/qa_generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../jsonrpc/" CPPIFDIR "${CMAKE_CURRENT_SOURCE_DIR}/../qa_interfaces/" IFDIR "${CMAKE_CURRENT_SOURCE_DIR}/../jsonrpc/" CPP_INTERFACE_PATH "qa_interfaces" JSON_INTERFACE_PATH "qa_interfaces/json")
JsonGenerator(CODE INPUT ${INTERFACE_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH})
JsonGenerator(CODE NAMESPACE Thunder::QualityAssurance INPUT ${QA_INTERFACE_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/qa_generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH} CPP_INTERFACE_PATH "qa_interfaces" JSON_INTERFACE_PATH "qa_interfaces/json" )
JsonGenerator(CODE NAMESPACE Thunder::Example INPUT ${EXAMPLE_INTERFACE_FILE} OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/example_generated" INCLUDE_PATH ${GENERATOR_SEARCH_PATH} CPP_INTERFACE_PATH "example_interfaces" JSON_INTERFACE_PATH "example_interfaces/json")

file(GLOB JSON_ENUM_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/generated/JsonEnum*.cpp")
file(GLOB JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/generated/J*.h")

file(GLOB QA_JSON_ENUM_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/qa_generated/JsonEnum*.cpp")
file(GLOB QA_JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/qa_generated/J*.h")

file(GLOB EXAMPLE_JSON_ENUM_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/example_generated/JsonEnum*.cpp")
file(GLOB EXAMPLE_JSON_LINK_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/example_generated/J*.h")

list(APPEND JSON_LINK_HEADERS "Module.h")
list(APPEND QA_JSON_LINK_HEADERS "Module.h")
list(APPEND EXAMPLE_JSON_LINK_HEADERS "Module.h")

add_library(${Target} SHARED
Definitions.cpp
Module.cpp
${JSON_ENUM_SOURCES}
${QA_JSON_ENUM_SOURCES}
${EXAMPLE_JSON_ENUM_SOURCES}
)

target_link_libraries(${Target}
Expand Down Expand Up @@ -122,6 +133,11 @@ install(
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${NAMESPACE}/qa_interfaces/json COMPONENT ${NAMESPACE}_Test_Development
)

install(
FILES ${EXAMPLE_JSON_LINK_HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${NAMESPACE}/example_interfaces/json COMPONENT ${NAMESPACE}_Example_Development
)

InstallPackageConfig(
TARGETS ${Target}
DESCRIPTION "${PROJECT_DESCRIPTION}"
Expand Down
14 changes: 5 additions & 9 deletions definitions/Definitions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
#include <interfaces/IPerformance.h>
#include <interfaces/IPlayerInfo.h>
#include <interfaces/IPlayGiga.h>
#include <interfaces/IPluginAsyncStateControl.h>
#include <interfaces/IPower.h>
#include <interfaces/IProvisioning.h>
#include <interfaces/IRemoteControl.h>
Expand Down Expand Up @@ -95,6 +96,10 @@
#include <qa_interfaces/ITestUtility.h>
#include <qa_interfaces/ITestController.h>
#include <qa_interfaces/ITestAutomation.h>

#include <example_interfaces/ISimpleInstanceObjects.h>
#include <example_interfaces/ISimpleAsync.h>
#include <example_interfaces/ISimpleCustomObjects.h>
#endif

namespace Thunder {
Expand Down Expand Up @@ -153,15 +158,6 @@ ENUM_CONVERSION_BEGIN(Exchange::IStream::state)
{ Exchange::IStream::state::Error, _TXT(_T("Error")) },
ENUM_CONVERSION_END(Exchange::IStream::state)

ENUM_CONVERSION_BEGIN(Exchange::IPower::PCState)
{ Exchange::IPower::On, _TXT(_T("on")) },
{ Exchange::IPower::ActiveStandby, _TXT(_T("active")) },
{ Exchange::IPower::PassiveStandby, _TXT(_T("passive")) },
{ Exchange::IPower::SuspendToRAM, _TXT(_T("suspended")) },
{ Exchange::IPower::Hibernate, _TXT(_T("hibernate")) },
{ Exchange::IPower::PowerOff, _TXT(_T("off")) },
ENUM_CONVERSION_END(Exchange::IPower::PCState)

ENUM_CONVERSION_BEGIN(Exchange::External::Metadata::protocol)
{ Exchange::External::Metadata::protocol::I2C, _TXT(_T("I2C")) },
{ Exchange::External::Metadata::protocol::ONEWIRE, _TXT(_T("1W")) },
Expand Down
Loading
Loading