Skip to content

Commit f17f784

Browse files
committed
compilation fixed
1 parent 4960d34 commit f17f784

File tree

3 files changed

+31
-198
lines changed

3 files changed

+31
-198
lines changed

HdmiCecSink/HdmiCecSink.cpp

Lines changed: 28 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "host.hpp"
2626
#include "UtilsgetRFCConfig.h"
2727

28-
#include "dsMgr.h"
2928
#include "dsRpc.h"
3029
#include "dsDisplay.h"
3130
#include "videoOutputPort.hpp"
@@ -36,6 +35,8 @@
3635
#include "UtilsJsonRpc.h"
3736
#include "UtilssyncPersistFile.h"
3837
#include "UtilsSearchRDKProfile.h"
38+
#include "exception.hpp"
39+
#include "hdmiIn.hpp"
3940

4041
#define HDMICECSINK_METHOD_SET_ENABLED "setEnabled"
4142
#define HDMICECSINK_METHOD_GET_ENABLED "getEnabled"
@@ -765,14 +766,7 @@ namespace WPEFramework
765766
logicalAddress = 0xFF;
766767
// load persistence setting
767768
loadSettings();
768-
769-
int err;
770-
dsHdmiInGetNumberOfInputsParam_t hdmiInput;
771-
#ifdef IO_HCEC_ENABLE_IARM
772-
InitializeIARM();
773-
#else
774-
device::Host::getInstance().Register(baseInterface<device::Host::IHdmiInEvents>(), "WPE[HdmiCecSink]");
775-
#endif /* IO_HCEC_ENABLE_IARM */
769+
device::Host::getInstance().Register(baseInterface<device::Host::IHdmiInEvents>(), "WPE::CecSink");
776770
m_sendKeyEventThreadExit = false;
777771
m_sendKeyEventThread = std::thread(threadSendKeyEvent);
778772

@@ -798,23 +792,8 @@ namespace WPEFramework
798792
}
799793
}
800794

801-
#ifdef IO_HCEC_ENABLE_IARM
802-
err = IARM_Bus_Call(IARM_BUS_DSMGR_NAME,
803-
IARM_BUS_DSMGR_API_dsHdmiInGetNumberOfInputs,
804-
(void *)&hdmiInput,
805-
sizeof(hdmiInput));
806-
807-
if (err == IARM_RESULT_SUCCESS && hdmiInput.result == dsERR_NONE)
808-
{
809-
LOGINFO("Number of Inputs [%d] \n", hdmiInput.numHdmiInputs );
810-
m_numofHdmiInput = hdmiInput.numHdmiInputs;
811-
}else{
812-
LOGINFO("Not able to get Numebr of inputs so defaulting to 3 \n");
813-
m_numofHdmiInput = 3;
814-
}
815-
#else
816795
m_numofHdmiInput = device::HdmiInput::getInstance().getNumberOfInputs();
817-
#endif /* IO_HCEC_ENABLE_IARM */
796+
818797
LOGINFO("initalize inputs \n");
819798

820799
for (int i = 0; i < m_numofHdmiInput; i++){
@@ -903,11 +882,7 @@ namespace WPEFramework
903882
}
904883

905884
HdmiCecSink::_instance = nullptr;
906-
#ifdef IO_HCEC_ENABLE_IARM
907-
DeinitializeIARM();
908-
#else
909-
device::Host::getInstance().UnRegister(baseInterface<device::Host::IHdmiInEvents>());
910-
#endif /* IO_HCEC_ENABLE_IARM */
885+
device::Host::getInstance().UnRegister(baseInterface<device::Host::IHdmiInEvents>());
911886

912887
try
913888
{
@@ -923,24 +898,6 @@ namespace WPEFramework
923898
LOGWARN(" HdmiCecSink Deinitialize() Done");
924899
}
925900

926-
const void HdmiCecSink::InitializeIARM()
927-
{
928-
if (Utils::IARM::init())
929-
{
930-
IARM_Result_t res;
931-
IARM_CHECK( IARM_Bus_RegisterEventHandler(IARM_BUS_DSMGR_NAME,IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG, dsHdmiEventHandler) );
932-
}
933-
}
934-
935-
void HdmiCecSink::DeinitializeIARM()
936-
{
937-
if (Utils::IARM::isConnected())
938-
{
939-
IARM_Result_t res;
940-
IARM_CHECK( IARM_Bus_RemoveEventHandler(IARM_BUS_DSMGR_NAME,IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG, dsHdmiEventHandler) );
941-
}
942-
}
943-
944901
void HdmiCecSink::InitializePowerManager(PluginHost::IShell *service)
945902
{
946903
_powerManagerPlugin = PowerManagerInterfaceBuilder(_T("org.rdk.PowerManager"))
@@ -960,31 +917,14 @@ namespace WPEFramework
960917
}
961918
}
962919

963-
#ifdef IO_HCEC_ENABLE_IARM
964-
void HdmiCecSink::dsHdmiEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
965-
{
966-
if(!HdmiCecSink::_instance)
967-
return;
968-
969-
if (IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG == eventId)
970-
{
971-
IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
972-
bool isHdmiConnected = eventData->data.hdmi_in_connect.isPortConnected;
973-
dsHdmiInPort_t portId = eventData->data.hdmi_in_connect.port;
974-
LOGINFO("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG event port: %d data:%d \r\n",portId, isHdmiConnected);
975-
HdmiCecSink::_instance->onHdmiHotPlug(portId,isHdmiConnected);
976-
}
977-
}
978-
#else
979920
void HdmiCecSink::OnHdmiInEventHotPlug(dsHdmiInPort_t port, bool isConnected)
980921
{
981922
if(!HdmiCecSink::_instance)
982923
return;
983924

984-
LOGINFO("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG event port: %d isConnected: %d \r\n", port, isConnected);
925+
LOGINFO("Received HdmiCecSink::OnHdmiInEventHotPlug event port: %d isConnected: %d \r\n", port, isConnected);
985926
HdmiCecSink::_instance->onHdmiHotPlug((int) port, isConnected);
986927
}
987-
#endif /* IO_HCEC_ENABLE_IARM */
988928

989929
void HdmiCecSink::onPowerModeChanged(const PowerState currentState, const PowerState newState)
990930
{
@@ -2109,46 +2049,20 @@ namespace WPEFramework
21092049

21102050
void HdmiCecSink::CheckHdmiInState()
21112051
{
2112-
int err;
21132052
bool isAnyPortConnected = false;
21142053

2115-
#ifdef IO_HCEC_ENABLE_IARM
2116-
2117-
dsHdmiInGetStatusParam_t params;
2118-
err = IARM_Bus_Call(IARM_BUS_DSMGR_NAME,
2119-
IARM_BUS_DSMGR_API_dsHdmiInGetStatus,
2120-
(void *)&params,
2121-
sizeof(params));
2122-
2123-
if(err == IARM_RESULT_SUCCESS && params.result == dsERR_NONE )
2124-
{
2125-
for( int i = 0; i < m_numofHdmiInput; i++ )
2126-
{
2127-
LOGINFO("Is HDMI In Port [%d] connected [%d] \n",i, params.status.isPortConnected[i]);
2128-
if ( params.status.isPortConnected[i] )
2129-
{
2130-
isAnyPortConnected = true;
2131-
}
2132-
2133-
LOGINFO("update Port Status [%d] \n", i);
2134-
hdmiInputs[i].update(params.status.isPortConnected[i]);
2135-
}
2136-
}
2137-
#else
2138-
21392054
for( int i = 0; i < m_numofHdmiInput; i++ )
21402055
{
2141-
//LOGINFO("update Port Status [%d] \n", i);
2056+
LOGINFO("update Port Status [%d] \n", i);
21422057
hdmiInputs[i].update(device::HdmiInput::getInstance().isPortConnected(i));
21432058

2144-
//LOGINFO("Is HDMI In Port [%d] connected [%d] \n",i, params.status.isPortConnected[i]);
2059+
LOGINFO("Is HDMI In Port [%d] connected [%d] \n",i, hdmiInputs[i].m_isConnected);
21452060
if ( hdmiInputs[i].m_isConnected )
21462061
{
21472062
isAnyPortConnected = true;
21482063
}
21492064
}
21502065

2151-
#endif /* IO_HCEC_ENABLE_IARM */
21522066
if ( isAnyPortConnected ) {
21532067
m_isHdmiInConnected = true;
21542068
} else {
@@ -3609,58 +3523,26 @@ namespace WPEFramework
36093523

36103524
}
36113525

3612-
#ifdef IO_HCEC_ENABLE_IARM
3613-
void HdmiCecSink::getHdmiArcPortID()
3614-
{
3615-
int err;
3616-
dsGetHDMIARCPortIdParam_t param;
3617-
unsigned int retryCount = 1;
3618-
do {
3619-
usleep(50000); // Sleep for 50ms before retrying
3620-
param.portId = -1; // Initialize to an invalid port ID
3621-
err = IARM_Bus_Call(IARM_BUS_DSMGR_NAME,
3622-
(char *)IARM_BUS_DSMGR_API_dsGetHDMIARCPortId,
3623-
(void *)&param,
3624-
sizeof(param));
3625-
if (IARM_RESULT_SUCCESS == err)
3626-
{
3627-
LOGINFO("HDMI ARC port ID HdmiArcPortID[%d] on retry count[%d]", param.portId, retryCount);
3628-
HdmiArcPortID = param.portId;
3629-
break;
3630-
}
3631-
else
3632-
{
3633-
LOGWARN("IARM_Bus_Call failed with error[%d], retry count[%d]", err, retryCount);
3634-
}
3635-
} while(retryCount++ <= 6);
3636-
}
3637-
#else
3638-
void HdmiCecSink::getHdmiArcPortID()
3639-
{
3640-
int portId;
3641-
unsigned int retryCount = 1;
3642-
do {
3643-
usleep(50000); // Sleep for 50ms before retrying
3644-
portId = -1;
3645-
#if 0 //just to verify compilation
3646-
device::HdmiInput::getInstance().getHDMIARCPortId(&portId);
3647-
#else
3648-
portId = 0;
3649-
#endif
3650-
if (-1 != portId)
3651-
{
3652-
LOGINFO("HDMI ARC port ID HdmiArcPortID[%d] on retry count[%d]", portId, retryCount);
3653-
HdmiArcPortID = portId;
3654-
break;
3655-
}
3656-
else
3657-
{
3658-
LOGWARN("getHDMIARCPortId failed for retry count[%d]", retryCount);
3659-
}
3660-
} while(retryCount++ <= 6);
3661-
}
3662-
#endif /* IO_HCEC_ENABLE_IARM */
3663-
3526+
void HdmiCecSink::getHdmiArcPortID()
3527+
{
3528+
int portId;
3529+
unsigned int retryCount = 1;
3530+
do {
3531+
usleep(50000); // Sleep for 50ms before retrying
3532+
portId = -1;
3533+
device::HdmiInput::getInstance().getHDMIARCPortId(&portId);
3534+
if (-1 != portId)
3535+
{
3536+
LOGINFO("HDMI ARC port ID HdmiArcPortID[%d] on retry count[%d]", portId, retryCount);
3537+
HdmiArcPortID = portId;
3538+
break;
3539+
}
3540+
else
3541+
{
3542+
LOGWARN("getHDMIARCPortId failed for retry count[%d]", retryCount);
3543+
}
3544+
} while(retryCount++ <= 6);
3545+
}
36643546

36653547
void HdmiCecSink::getCecVersion()
36663548
{

HdmiCecSource/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# distributed under the License is distributed on an "AS IS" BASIS,
1414
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1515
# See the License for the specific language governing permissions and
16-
# limitations under the License..
16+
# limitations under the License.
1717

1818
set(PLUGIN_NAME HdmiCecSource)
1919
set(MODULE_NAME ${NAMESPACE}${PLUGIN_NAME})

HdmiCecSource/HdmiCecSourceImplementation.cpp

Lines changed: 2 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "ccec/MessageEncoder.hpp"
2626
#include "host.hpp"
2727

28-
#include "dsMgr.h"
2928
#include "dsDisplay.h"
3029
#include "videoOutputPort.hpp"
3130
#include "manager.hpp"
@@ -389,13 +388,7 @@ namespace WPEFramework
389388
_powerManagerPlugin.Reset();
390389
}
391390
_registeredEventHandlers = false;
392-
393-
#ifdef IO_HCEC_ENABLE_IARM
394-
DeinitializeIARM();
395-
#else
396391
device::Host::getInstance().UnRegister(baseInterface<device::Host::IDisplayDeviceEvents>());
397-
#endif /* IO_HCEC_ENABLE_IARM */
398-
399392
}
400393

401394
Core::hresult HdmiCecSourceImplementation::Configure(PluginHost::IShell* service)
@@ -414,9 +407,6 @@ namespace WPEFramework
414407
logicalAddress = 0xFF;
415408

416409
//CEC plugin functionalities will only work if CECmgr is available. If plugin Initialize failure upper layer will call dtor directly.
417-
#ifdef IO_HCEC_ENABLE_IARM
418-
InitializeIARM();
419-
#endif /* IO_HCEC_ENABLE_IARM */
420410
InitializePowerManager(service);
421411

422412
// load persistence setting
@@ -425,10 +415,7 @@ namespace WPEFramework
425415
{
426416
//TODO(MROLLINS) this is probably per process so we either need to be running in our own process or be carefull no other plugin is calling it
427417
device::Manager::Initialize();
428-
429-
#ifndef IO_HCEC_ENABLE_IARM
430-
device::Host::getInstance().Register(baseInterface<device::Host::IDisplayDeviceEvents>(), "WPE[HdmiCecSource]");
431-
#endif /* IO_HCEC_ENABLE_IARM */
418+
device::Host::getInstance().Register(baseInterface<device::Host::IDisplayDeviceEvents>(), "WPE::CecSource");
432419

433420
std::string strVideoPort = device::Host::getInstance().getDefaultVideoPortName();
434421
device::VideoOutputPort vPort = device::Host::getInstance().getVideoOutputPort(strVideoPort.c_str());
@@ -743,20 +730,6 @@ namespace WPEFramework
743730
registerEventHandlers();
744731
}
745732

746-
const void HdmiCecSourceImplementation::InitializeIARM()
747-
{
748-
IARM_Result_t res;
749-
IARM_CHECK( IARM_Bus_RegisterEventHandler(IARM_BUS_DSMGR_NAME,IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG, dsHdmiEventHandler) );
750-
}
751-
752-
void HdmiCecSourceImplementation::DeinitializeIARM()
753-
{
754-
if (Utils::IARM::isConnected())
755-
{
756-
IARM_Result_t res;
757-
IARM_CHECK( IARM_Bus_RemoveEventHandler(IARM_BUS_DSMGR_NAME,IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG,dsHdmiEventHandler) );
758-
}
759-
}
760733
void HdmiCecSourceImplementation::threadHotPlugEventHandler(int data)
761734
{
762735
LOGINFO("entry threadHotPlugEventHandler \r\n");
@@ -771,28 +744,6 @@ namespace WPEFramework
771744
LOGINFO("Exit threadHotPlugEventHandler \r\n");
772745
}
773746

774-
#ifdef IO_HCEC_ENABLE_IARM
775-
void HdmiCecSourceImplementation::dsHdmiEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
776-
{
777-
if(!HdmiCecSourceImplementation::_instance || !_instance->cecEnableStatus)
778-
{
779-
LOGINFO("Return from dsHdmiEventHandler due HdmiCecSourceImplementation::_instance:%p cecEnableStatus:%d \r\n", HdmiCecSourceImplementation::_instance, _instance->cecEnableStatus);
780-
return;
781-
}
782-
783-
if (owner && !strcmp(owner, IARM_BUS_DSMGR_NAME) && (IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG == eventId))
784-
{
785-
IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
786-
if(eventData)
787-
{
788-
int hdmi_hotplug_event = eventData->data.hdmi_hpd.event;
789-
LOGINFO("Received IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG event data:%d \r\n", hdmi_hotplug_event);
790-
std::thread worker(threadHotPlugEventHandler,hdmi_hotplug_event);
791-
worker.detach();
792-
}
793-
}
794-
}
795-
#else
796747
void HdmiCecSourceImplementation::OnDisplayHDMIHotPlug(dsDisplayEvent_t displayEvent)
797748
{
798749
LOGINFO("HdmiCecSourceImplementation::OnDisplayHDMIHotPlug : displayEvent = %d ", displayEvent);
@@ -809,7 +760,7 @@ namespace WPEFramework
809760
worker.detach();
810761

811762
}
812-
#endif /* IO_HCEC_ENABLE_IARM */
763+
813764
void HdmiCecSourceImplementation::onPowerModeChanged(const PowerState currentState, const PowerState newState)
814765
{
815766
if(!HdmiCecSourceImplementation::_instance)

0 commit comments

Comments
 (0)