Skip to content

Commit 02c5436

Browse files
authored
Merge branch 'rdkcentral:sprint/24Q4' into RDK-52196
2 parents f8a4ea8 + b02fdb9 commit 02c5436

File tree

23 files changed

+367
-180
lines changed

23 files changed

+367
-180
lines changed

DisplaySettings/DisplaySettings.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,11 @@ namespace WPEFramework {
582582
m_service = service;
583583
m_service->AddRef();
584584

585-
m_sendMsgThread = std::thread(sendMsgThread);
585+
try {
586+
m_sendMsgThread = std::thread(sendMsgThread);
587+
} catch (const std::system_error& e) {
588+
LOGERR("Failed to start m_sendMsgThread: %s", e.what());
589+
}
586590
m_timer.connect(std::bind(&DisplaySettings::onTimer, this));
587591
m_AudioDeviceDetectTimer.connect(std::bind(&DisplaySettings::checkAudioDeviceDetectionTimer, this));
588592
m_ArcDetectionTimer.connect(std::bind(&DisplaySettings::checkArcDeviceConnected, this));
@@ -4757,7 +4761,12 @@ namespace WPEFramework {
47574761
try
47584762
{
47594763
LOGWARN("creating worker thread for initAudioPortsWorker ");
4760-
std::thread audioPortInitThread = std::thread(initAudioPortsWorker);
4764+
std::thread audioPortInitThread;
4765+
try {
4766+
audioPortInitThread = std::thread(initAudioPortsWorker);
4767+
} catch (const std::system_error& e) {
4768+
LOGERR("Failed to start initAudioPortsWorker: %s", e.what());
4769+
}
47614770
audioPortInitThread.detach();
47624771
}
47634772
catch(const std::system_error& e)

DisplaySettings/DisplaySettings.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "dsTypes.h"
2626
#include "tptimer.h"
2727
#include "libIARM.h"
28-
#include "irMgr.h"
2928
#include "pwrMgr.h"
3029
#include "rfcapi.h"
3130
#include <interfaces/ISystemMode.h>

DisplaySettings/cmake/FindIARMBus.cmake

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,10 @@ find_package(PkgConfig)
2727

2828
find_library(IARMBUS_LIBRARIES NAMES IARMBus)
2929
find_path(IARMBUS_INCLUDE_DIRS NAMES libIARM.h PATH_SUFFIXES rdk/iarmbus)
30-
find_path(IARMIR_INCLUDE_DIRS NAMES irMgr.h PATH_SUFFIXES rdk/iarmmgrs/ir)
3130

3231
set(IARMBUS_LIBRARIES ${IARMBUS_LIBRARIES} CACHE PATH "Path to IARMBus library")
33-
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMIR_INCLUDE_DIRS})
34-
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMIR_INCLUDE_DIRS} CACHE PATH "Path to IARMBus include")
32+
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS})
33+
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} CACHE PATH "Path to IARMBus include")
3534

3635

3736
include(FindPackageHandleStandardArgs)

FrameRate/cmake/FindIARMBus.cmake

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,12 @@ find_package(PkgConfig)
2727

2828
find_library(IARMBUS_LIBRARIES NAMES IARMBus)
2929
find_path(IARMBUS_INCLUDE_DIRS NAMES libIARM.h PATH_SUFFIXES rdk/iarmbus)
30-
find_path(IARMIR_INCLUDE_DIRS NAMES irMgr.h PATH_SUFFIXES rdk/iarmmgrs/ir)
3130
find_path(IARMRECEIVER_INCLUDE_DIRS NAMES receiverMgr.h PATH_SUFFIXES rdk/iarmmgrs/receiver)
3231
find_path(IARMPWR_INCLUDE_DIRS NAMES pwrMgr.h PATH_SUFFIXES rdk/iarmmgrs-hal)
3332

3433
set(IARMBUS_LIBRARIES ${IARMBUS_LIBRARIES} CACHE PATH "Path to IARMBus library")
35-
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMIR_INCLUDE_DIRS} ${IARMRECEIVER_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS})
36-
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMIR_INCLUDE_DIRS} ${IARMRECEIVER_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS} CACHE PATH "Path to IARMBus include")
34+
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMRECEIVER_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS})
35+
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMRECEIVER_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS} CACHE PATH "Path to IARMBus include")
3736

3837
include(FindPackageHandleStandardArgs)
3938
FIND_PACKAGE_HANDLE_STANDARD_ARGS(IARMBUS DEFAULT_MSG IARMBUS_INCLUDE_DIRS IARMBUS_LIBRARIES)

HdmiCecSource/HdmiCecSource.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -863,6 +863,8 @@ namespace WPEFramework
863863
{
864864
logicalAddress = logicalAddr;
865865
logicalAddressDeviceType = logicalAddrDeviceType;
866+
if(smConnection)
867+
smConnection->setSource(logicalAddress); //update initiator LA
866868
}
867869
}
868870
catch (const std::exception& e)

MaintenanceManager/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ All notable changes to this RDK Service will be documented in this file.
1616

1717
* For more details, refer to [versioning](https://github.com/rdkcentral/rdkservices#versioning) section under Main README.
1818

19+
## [1.0.38] - 2024-11-15
20+
### Added
21+
- MaintenanceManager is stuck at MAINTENANCE_STARTED in non-WAI case, when SUPPRESSED_MAINTENANCE is enabled with no Skip Firmware
22+
1923
## [1.0.37] - 2024-10-24
2024
### Remove
2125
- Decouple DCM from Unsolicited Maintenance and remove DCM references in MaintenanceManager

MaintenanceManager/MaintenanceManager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,12 @@ namespace WPEFramework {
418418
tasks.push_back(task_names_foreground[0].c_str());
419419
tasks.push_back(task_names_foreground[2].c_str());
420420
}
421+
else
422+
{
423+
tasks.push_back(task_names_foreground[0].c_str());
424+
tasks.push_back(task_names_foreground[1].c_str());
425+
tasks.push_back(task_names_foreground[2].c_str());
426+
}
421427
}
422428
#else
423429
tasks.push_back(task_names_foreground[0].c_str());

MaintenanceManager/MaintenanceManager.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
#include "tracing/Logging.h"
2929
#if defined(USE_IARMBUS) || defined(USE_IARM_BUS)
3030
#include "libIARM.h"
31-
#include "irMgr.h"
3231
#include "pwrMgr.h"
3332
#include "maintenanceMGR.h" /* IARM INTERFACE HELPER */
3433
#endif /* USE_IARMBUS || USE_IARM_BUS */

MaintenanceManager/cmake/FindIARMBus.cmake

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,13 @@ find_package(PkgConfig)
2727

2828
find_library(IARMBUS_LIBRARIES NAMES IARMBus)
2929
find_path(IARMBUS_INCLUDE_DIRS NAMES libIARM.h PATH_SUFFIXES rdk/iarmbus)
30-
find_path(IARMIR_INCLUDE_DIRS NAMES irMgr.h PATH_SUFFIXES rdk/iarmmgrs/ir)
3130
find_path(IARMSYS_INCLUDE_DIRS NAMES sysMgr.h PATH_SUFFIXES rdk/iarmmgrs/sysmgr)
3231
find_path(IARMPWR_INCLUDE_DIRS NAMES pwrMgr.h PATH_SUFFIXES rdk/iarmmgrs-hal)
3332

3433

3534
set(IARMBUS_LIBRARIES ${IARMBUS_LIBRARIES} CACHE PATH "Path to IARMBus library")
36-
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMIR_INCLUDE_DIRS} ${IARMSYS_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS} )
37-
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMIR_INCLUDE_DIRS} ${IARMSYS_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS} CACHE PATH "Path to IARMBus include")
35+
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMSYS_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS} )
36+
set(IARMBUS_INCLUDE_DIRS ${IARMBUS_INCLUDE_DIRS} ${IARMSYS_INCLUDE_DIRS} ${IARMPWR_INCLUDE_DIRS} CACHE PATH "Path to IARMBus include")
3837

3938
include(FindPackageHandleStandardArgs)
4039
FIND_PACKAGE_HANDLE_STANDARD_ARGS(IARMBUS DEFAULT_MSG IARMBUS_INCLUDE_DIRS IARMBUS_LIBRARIES)

OCIContainer/OCIContainer.cpp

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,12 @@ uint32_t OCIContainer::startContainer(const JsonObject &parameters, JsonObject &
290290
std::string bundlePath = parameters["bundlePath"].String();
291291
std::string command = parameters["command"].String();
292292
std::string westerosSocket = parameters["westerosSocket"].String();
293+
std::vector<std::string> envs = std::vector<std::string>();
294+
if (parameters.HasLabel("environmentVariables"))
295+
{
296+
std::string environmentVariables = parameters["environmentVariables"].String();
297+
split(environmentVariables, '&', envs);
298+
}
293299

294300
// Can be used to pass file descriptors to container construction.
295301
// Currently unsupported, see DobbyProxy::startContainerFromBundle().
@@ -335,7 +341,7 @@ uint32_t OCIContainer::startContainer(const JsonObject &parameters, JsonObject &
335341
}
336342

337343
LOGINFO("startContainerFromBundle: id: %s, containerPath: %s, command: %s, westerosSocket: %s", id.c_str(), encrypted ? containerPath.c_str() : bundlePath.c_str(), command.c_str(), westerosSocket.c_str());
338-
descriptor = mDobbyProxy->startContainerFromBundle(id, encrypted ? containerPath : bundlePath, emptyList, command, westerosSocket);
344+
descriptor = mDobbyProxy->startContainerFromBundle(id, encrypted ? containerPath : bundlePath, emptyList, command, westerosSocket, envs);
339345
}
340346

341347
// startContainer returns -1 on failure
@@ -726,6 +732,26 @@ void OCIContainer::onVerityFailed(const std::string& name)
726732
}
727733
}
728734

735+
/**
736+
* @brief Utility function to split strings based on delimited
737+
*
738+
* @param source
739+
* @param delimiter
740+
* @return Strings
741+
*/
742+
void OCIContainer::split(const std::string& source, char delimiter, std::vector<std::string>& outputStrings)
743+
{
744+
std::string::size_type previousPosition = 0, currentPosition = 0;
745+
while((currentPosition = source.find(delimiter, currentPosition)) != std::string::npos)
746+
{
747+
std::string currentString( source.substr(previousPosition, currentPosition-previousPosition) );
748+
outputStrings.push_back(currentString);
749+
previousPosition = currentPosition+1;
750+
currentPosition = currentPosition+1;
751+
}
752+
outputStrings.push_back(source.substr(previousPosition, currentPosition-previousPosition));
753+
}
754+
729755
// End Internal methods
730756

731757
} // namespace Plugin

0 commit comments

Comments
 (0)