25
25
#include " host.hpp"
26
26
#include " UtilsgetRFCConfig.h"
27
27
28
- #include " dsMgr.h"
29
28
#include " dsRpc.h"
30
29
#include " dsDisplay.h"
31
30
#include " videoOutputPort.hpp"
36
35
#include " UtilsJsonRpc.h"
37
36
#include " UtilssyncPersistFile.h"
38
37
#include " UtilsSearchRDKProfile.h"
38
+ #include " exception.hpp"
39
+ #include " hdmiIn.hpp"
39
40
40
41
#define HDMICECSINK_METHOD_SET_ENABLED " setEnabled"
41
42
#define HDMICECSINK_METHOD_GET_ENABLED " getEnabled"
@@ -765,14 +766,7 @@ namespace WPEFramework
765
766
logicalAddress = 0xFF ;
766
767
// load persistence setting
767
768
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" );
776
770
m_sendKeyEventThreadExit = false ;
777
771
m_sendKeyEventThread = std::thread (threadSendKeyEvent);
778
772
@@ -798,23 +792,8 @@ namespace WPEFramework
798
792
}
799
793
}
800
794
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
816
795
m_numofHdmiInput = device::HdmiInput::getInstance ().getNumberOfInputs ();
817
- # endif /* IO_HCEC_ENABLE_IARM */
796
+
818
797
LOGINFO (" initalize inputs \n " );
819
798
820
799
for (int i = 0 ; i < m_numofHdmiInput; i++){
@@ -903,11 +882,7 @@ namespace WPEFramework
903
882
}
904
883
905
884
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>());
911
886
912
887
try
913
888
{
@@ -923,24 +898,6 @@ namespace WPEFramework
923
898
LOGWARN (" HdmiCecSink Deinitialize() Done" );
924
899
}
925
900
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
-
944
901
void HdmiCecSink::InitializePowerManager (PluginHost::IShell *service)
945
902
{
946
903
_powerManagerPlugin = PowerManagerInterfaceBuilder (_T (" org.rdk.PowerManager" ))
@@ -960,31 +917,14 @@ namespace WPEFramework
960
917
}
961
918
}
962
919
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
979
920
void HdmiCecSink::OnHdmiInEventHotPlug (dsHdmiInPort_t port, bool isConnected)
980
921
{
981
922
if (!HdmiCecSink::_instance)
982
923
return ;
983
924
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);
985
926
HdmiCecSink::_instance->onHdmiHotPlug ((int ) port, isConnected);
986
927
}
987
- #endif /* IO_HCEC_ENABLE_IARM */
988
928
989
929
void HdmiCecSink::onPowerModeChanged (const PowerState currentState, const PowerState newState)
990
930
{
@@ -2109,46 +2049,20 @@ namespace WPEFramework
2109
2049
2110
2050
void HdmiCecSink::CheckHdmiInState ()
2111
2051
{
2112
- int err;
2113
2052
bool isAnyPortConnected = false ;
2114
2053
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 *)¶ms,
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
-
2139
2054
for ( int i = 0 ; i < m_numofHdmiInput; i++ )
2140
2055
{
2141
- // LOGINFO("update Port Status [%d] \n", i);
2056
+ LOGINFO (" update Port Status [%d] \n " , i);
2142
2057
hdmiInputs[i].update (device::HdmiInput::getInstance ().isPortConnected (i));
2143
2058
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 );
2145
2060
if ( hdmiInputs[i].m_isConnected )
2146
2061
{
2147
2062
isAnyPortConnected = true ;
2148
2063
}
2149
2064
}
2150
2065
2151
- #endif /* IO_HCEC_ENABLE_IARM */
2152
2066
if ( isAnyPortConnected ) {
2153
2067
m_isHdmiInConnected = true ;
2154
2068
} else {
@@ -3609,58 +3523,26 @@ namespace WPEFramework
3609
3523
3610
3524
}
3611
3525
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 *)¶m,
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
+ }
3664
3546
3665
3547
void HdmiCecSink::getCecVersion ()
3666
3548
{
0 commit comments