RDK Documentation (Open Sourced RDK Components)
Components_DisplayDevice.cpp
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21  * @file Components_DisplayDevice.cpp
22  * @brief This source file contains the APIs of TR069 Components Display Device.
23  */
24 
25 /**
26 * @defgroup tr69hostif
27 * @{
28 * @defgroup hostif
29 * @{
30 **/
31 
32 
34 #include "safec_lib.h"
35 
36 #define STATUS_STRING "Status"
37 #define EEDID_STRING "EEDID"
38 #define COMCAST_EDID_STRING "X_COMCAST-COM_EDID"
39 #define EDID_BYTES_STRING "EDID_BYTES"
40 #define SUPPORTED_RES_STRING "SupportedResolutions"
41 #define PREF_RES_STRING "PreferredResolution"
42 #define VIDEO_LATENCY_STRING "VideoLatency"
43 #define CECSUPPORT_STRING "CECSupport"
44 #define AUTO_LIP_SYNC_STRING "AutoLipSyncSupport"
45 #define HDMI3D_STRING "HDMI3DPresent"
46 #define PRESENT_STRING "Present"
47 #define ABSENT_STRING "Absent"
48 
49 
50 #define UPDATE_FORMAT_STRING "%s.%d.%s%s"
51 
52 /**
53  * @brief Class Constructor of the class hostIf_STBServiceDisplayDevice.
54  *
55  * It will initialize the device id and video output port.
56  *
57  * @param[in] devid Identification number of the device.
58  * @param[in] port Video output port number.
59  * @ingroup TR69_HOSTIF_STBSERVICES_DISPLAYDEVICE_API
60  */
62 {
63  errno_t rc = -1;
64  rc=strcpy_s(backupDisplayDeviceStatus,sizeof(backupDisplayDeviceStatus)," ");
65  if(rc!=EOK)
66  {
67  ERR_CHK(rc);
68  }
69  rc=strcpy_s(backupEDID,sizeof(backupEDID)," ");
70  if(rc!=EOK)
71  {
72  ERR_CHK(rc);
73  }
74  rc=strcpy_s(backupEDIDBytes,sizeof(backupEDIDBytes)," ");
75  if(rc!=EOK)
76  {
77  ERR_CHK(rc);
78  }
79  rc=strcpy_s(backupSupportedResolution,sizeof(backupSupportedResolution)," ");
80  if(rc!=EOK)
81  {
82  ERR_CHK(rc);
83  }
84  rc=strcpy_s(backupPreferredResolution,sizeof(backupPreferredResolution)," ");
85  if(rc!=EOK)
86  {
87  ERR_CHK(rc);
88  }
89 
90  bCalledDisplayDeviceStatus = false;
91  bCalledEDID = false;
92  bCalledEDIDBytes = false;
93  bCalledSupportedResolution = false;
94  bCalledPreferredResolution = false;
95 }
96 
97 /**
98  * @brief This function set the display device interface attribute value such as Status, EDID,
99  * SupportedResolutions, PreferredResolution etc.. in the connected display device. Currently not
100  * implemented.
101  *
102  * @param[in] paramName Display device service name string.
103  * @param[in] stMsgData HostIf Message Request param contains the display device attribute value.
104  *
105  * @return Returns an Integer value.
106  * @retval 0 If successfully set the hostIf display device interface attribute.
107  * @retval -1 If Not able to set the hostIf display device interface attribute.
108  * @retval -2 If Not handle the hostIf display device interface attribute.
109  * @ingroup TR69_HOSTIF_STBSERVICES_DISPLAYDEVICE_API
110  */
112 {
113  stMsgData->faultCode = fcInvalidParameterName;
114  int ret = NOT_HANDLED;
115  return ret;
116 }
117 
118 /**
119  * @brief This function get the display device interface attribute value such as Status, EDID,
120  * SupportedResolutions, PreferredResolution etc.. in the connected display device. Currently not handling
121  * VideoLatency, AutoLipSyncSupport, CECSupport and HDMI3DPresent.
122  *
123  * @param[in] paramName Display device service name string.
124  * @param[in] stMsgData HostIf Message Request param contains the display device attribute value.
125  *
126  * @return Returns an Integer value.
127  * @retval 0 If successfully get the hostIf display device interface attribute.
128  * @retval -1 If Not able to get the hostIf display device interface attribute.
129  * @retval -2 If Not handle the hostIf display device interface attribute.
130  * @ingroup TR69_HOSTIF_STBSERVICES_DISPLAYDEVICE_API
131  */
133 {
134  int ret = NOT_HANDLED;
135  if (strcasecmp(paramName, STATUS_STRING) == 0)
136  {
137  ret = getStatus(stMsgData);
138  }
139  else if (strcasecmp(paramName, EEDID_STRING) == 0)
140  {
141  ret = getX_COMCAST_COM_EDID(stMsgData);
142  }
143  else if (strcasecmp(paramName, EDID_BYTES_STRING) == 0)
144  {
145  ret = getEDID_BYTES(stMsgData);
146  }
147  else if (strcasecmp(paramName, COMCAST_EDID_STRING) == 0)
148  {
149  ret = getX_COMCAST_COM_EDID(stMsgData);
150  }
151  else if (strcasecmp(paramName, SUPPORTED_RES_STRING) == 0)
152  {
153  ret = getSupportedResolutions(stMsgData);
154  }
155  else if (strcasecmp(paramName, PREF_RES_STRING) == 0)
156  {
157  ret = getPreferredResolution(stMsgData);
158  }
159  else if (strcasecmp(paramName, VIDEO_LATENCY_STRING) == 0)
160  {
161  //TODO
162  //Adding fault code to handle errors, Remove the fault code when implemented
163  stMsgData->faultCode = fcInvalidParameterName;
164  }
165  else if (strcasecmp(paramName, CECSUPPORT_STRING) == 0)
166  {
167  //TODO
168  //Adding fault code to handle errors, Remove the fault code when implemented
169  stMsgData->faultCode = fcInvalidParameterName;
170  }
171  else if (strcasecmp(paramName, AUTO_LIP_SYNC_STRING) == 0)
172  {
173  //TODO
174  //Adding fault code to handle errors, Remove the fault code when implemented
175  stMsgData->faultCode = fcInvalidParameterName;
176  }
177  else if (strcasecmp(paramName, HDMI3D_STRING) == 0)
178  {
179  //TODO
180  //Adding fault code to handle errors, Remove the fault code when implemented
181  stMsgData->faultCode = fcInvalidParameterName;
182  }
183  else
184  {
185  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%d] Parameter : \'%s\' is Not Supported \n", __FUNCTION__, __LINE__, stMsgData->paramName);
186  stMsgData->faultCode = fcInvalidParameterName;
187  ret = NOK;
188  }
189  return ret;
190 }
191 
192 /**
193  * @brief This function updates the hostIf display device interface attribute value such as Status, EDID,
194  * SupportedResolutions, PreferredResolution in the connected display device.
195  *
196  * @param[in] baseName Display device service name string.
197  * @param[in] mUpdateCallback Callback function which updates the hostIf video interface.
198  * @ingroup TR69_HOSTIF_STBSERVICES_DISPLAYDEVICE_API
199  */
200 void hostIf_STBServiceDisplayDevice::doUpdates(const char *baseName, updateCallback mUpdateCallback)
201 {
202  HOSTIF_MsgData_t msgData;
203  bool bChanged;
204  char tmp_buff[PARAM_LEN];
205 
206  memset(&msgData,0,sizeof(msgData));
207  memset(tmp_buff,0,PARAM_LEN);
208  bChanged = false;
209  msgData.instanceNum=dev_id;
210 
211  getStatus(&msgData,&bChanged);
212  if(bChanged)
213  {
214  snprintf(tmp_buff, PARAM_LEN, UPDATE_FORMAT_STRING, baseName, dev_id, DISPLAYDEVICE_OBJECT_NAME, STATUS_STRING);
215  if(mUpdateCallback)
216  {
217  mUpdateCallback(IARM_BUS_TR69HOSTIFMGR_EVENT_VALUECHANGED,tmp_buff, msgData.paramValue, msgData.paramtype);
218  }
219  }
220 
221  memset(&msgData,0,sizeof(msgData));
222  memset(tmp_buff,0,PARAM_LEN);
223  bChanged = false;
224  msgData.instanceNum=dev_id;
225 
226  getX_COMCAST_COM_EDID(&msgData,&bChanged);
227  if(bChanged)
228  {
229  snprintf(tmp_buff, PARAM_LEN, UPDATE_FORMAT_STRING, baseName, dev_id, DISPLAYDEVICE_OBJECT_NAME, EEDID_STRING);
230  if(mUpdateCallback)
231  {
232  mUpdateCallback(IARM_BUS_TR69HOSTIFMGR_EVENT_VALUECHANGED,tmp_buff, msgData.paramValue, msgData.paramtype);
233  }
234  }
235 
236  memset(&msgData,0,sizeof(msgData));
237  memset(tmp_buff,0,PARAM_LEN);
238  bChanged = false;
239  msgData.instanceNum=dev_id;
240 
241  getEDID_BYTES(&msgData,&bChanged);
242  if(bChanged)
243  {
244  snprintf(tmp_buff, PARAM_LEN, UPDATE_FORMAT_STRING, baseName, dev_id, DISPLAYDEVICE_OBJECT_NAME, EDID_BYTES_STRING);
245  if(mUpdateCallback)
246  {
247  mUpdateCallback(IARM_BUS_TR69HOSTIFMGR_EVENT_VALUECHANGED,tmp_buff, msgData.paramValue, msgData.paramtype);
248  }
249  }
250 
251  memset(&msgData,0,sizeof(msgData));
252  memset(tmp_buff,0,PARAM_LEN);
253  bChanged = false;
254  msgData.instanceNum=dev_id;
255 
256  getSupportedResolutions(&msgData,&bChanged);
257  if(bChanged)
258  {
259  snprintf(tmp_buff, PARAM_LEN, UPDATE_FORMAT_STRING, baseName, dev_id, DISPLAYDEVICE_OBJECT_NAME, SUPPORTED_RES_STRING);
260  if(mUpdateCallback)
261  {
262  mUpdateCallback(IARM_BUS_TR69HOSTIFMGR_EVENT_VALUECHANGED,tmp_buff, msgData.paramValue, msgData.paramtype);
263  }
264  }
265 
266  memset(&msgData,0,sizeof(msgData));
267  memset(tmp_buff,0,PARAM_LEN);
268  bChanged = false;
269  msgData.instanceNum=dev_id;
270 
271  getPreferredResolution(&msgData,&bChanged);
272  if(bChanged)
273  {
274  snprintf(tmp_buff, PARAM_LEN, UPDATE_FORMAT_STRING,baseName, dev_id, DISPLAYDEVICE_OBJECT_NAME, PREF_RES_STRING);
275  if(mUpdateCallback)
276  {
277  mUpdateCallback(IARM_BUS_TR69HOSTIFMGR_EVENT_VALUECHANGED,tmp_buff, msgData.paramValue, msgData.paramtype);
278  }
279  }
280 }
281 
282 /************************************************************
283  * Description : Get HDMI Display Device connection status
284  * Precondition : None
285  * Input : stMsgData for result return.
286  pChanged
287 
288  * Return : OK -> Success
289  NOK -> Failure
290  stMsgData->paramValue -> "Present": HDMI Display Connected
291  "Absent" : HDMI Display Not Connected
292 
293 ************************************************************/
294 
295 int hostIf_STBServiceDisplayDevice::getStatus(HOSTIF_MsgData_t *stMsgData,bool *pChanged)
296 {
297  try {
298  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] vPort.isDisplayConnected(): %d \n",__FUNCTION__, vPort.isDisplayConnected());
299  if (true == vPort.isDisplayConnected()) {
300  strncpy(stMsgData->paramValue, PRESENT_STRING, PARAM_LEN);
301  }
302  else {
303  strncpy(stMsgData->paramValue, ABSENT_STRING, PARAM_LEN);
304  }
305  stMsgData->paramValue[PARAM_LEN-1] = '\0';
306  stMsgData->paramtype = hostIf_StringType;
307  stMsgData->paramLen = strlen(stMsgData->paramValue);
308  if(bCalledDisplayDeviceStatus && pChanged && strcmp(backupDisplayDeviceStatus, stMsgData->paramValue))
309  {
310  *pChanged = true;
311  }
312  bCalledDisplayDeviceStatus = true;
313  strncpy(backupDisplayDeviceStatus, stMsgData->paramValue, _BUF_LEN_16-1);
314  backupDisplayDeviceStatus[_BUF_LEN_16-1] = '\0';
315  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] In getHDMIDisplayDeviceStatus(): Value: %s \n",__FUNCTION__, stMsgData->paramValue);
316  }
317  catch (const std::exception e) {
318  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"[%s] Exception\n",__FUNCTION__);
319  return NOK;
320  }
321 
322  return OK;
323 }
324 
325 /************************************************************
326  * Description : Get Display Device EDID
327  * Precondition : HDMI Display should be connected to STB
328  * Input : stMsgData for result return.
329  pChanged
330 
331  * Return : OK -> Success
332  NOK -> Failure
333  stMsgData->paramValue -> Comcast specific EDID
334 
335 ************************************************************/
336 
337 int hostIf_STBServiceDisplayDevice::getX_COMCAST_COM_EDID(HOSTIF_MsgData_t *stMsgData,bool *pChanged)
338 {
339  int productCode; /**< Product Code of display device */
340  int serialNumber; /**< Serial Number of display device */
341  int manufactureYear; /**< Manufacture Year of display device */
342  int manufactureWeek; /**< Manufacture Week of the display device */
343 
344  try {
345  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] vPort.isDisplayConnected(): %d \n",__FUNCTION__, vPort.isDisplayConnected());
346  if (true == vPort.isDisplayConnected()) {
347  productCode = vPort.getDisplay().getProductCode();
348  serialNumber = vPort.getDisplay().getSerialNumber();
349  manufactureWeek = vPort.getDisplay().getManufacturerWeek();
350  manufactureYear = vPort.getDisplay().getManufacturerYear();
351  snprintf(stMsgData->paramValue, PARAM_LEN, "pcode=0x%x,pserial=0x%x,year=%d,week=%d", productCode, serialNumber, manufactureYear, manufactureWeek);
352  }
353  else {
354  memset(stMsgData->paramValue, '\0', sizeof (stMsgData->paramValue));
355  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] HDMI Display is NOT connected\n",__FUNCTION__);
356  }
357  stMsgData->paramtype = hostIf_StringType;
358  stMsgData->paramLen = strlen(stMsgData->paramValue);
359  if(bCalledEDID && pChanged && strcmp(backupEDID, stMsgData->paramValue))
360  {
361  *pChanged = true;
362  }
363  bCalledEDID = true;
364  strncpy(backupEDID,stMsgData->paramValue,_BUF_LEN_256-1);
365  backupEDID[_BUF_LEN_16-1] = '\0';
366  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] In getHDMIDisplayDeviceX_COMCAST_COM_EDID(): Value: %s \n",__FUNCTION__, stMsgData->paramValue);
367  }
368  catch (const std::exception e) {
369  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"[%s] Exception\n",__FUNCTION__);
370  return NOK;
371  }
372 
373  return OK;
374 }
375 
376 /************************************************************
377  * Description : Get Display Device EDID Bytes
378  * Precondition : HDMI Display should be connected to STB
379  * Input : stMsgData for result return.
380  pChanged
381 
382  * Return : OK -> Success
383  NOK -> Failure
384  stMsgData->paramValue -> EDID Bytes
385 
386 ************************************************************/
387 
388 int hostIf_STBServiceDisplayDevice::getEDID_BYTES(HOSTIF_MsgData_t *stMsgData,bool *pChanged)
389 {
390  try {
391  const size_t valueSize = sizeof(stMsgData->paramValue);
392  memset(stMsgData->paramValue, '\0', valueSize);
393  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] vPort.isDisplayConnected(): %d \n",__FUNCTION__, vPort.isDisplayConnected());
394  if (true == vPort.isDisplayConnected()) {
395  std::vector<unsigned char> bytes;
396  vPort.getDisplay().getEDIDBytes(bytes);
397  size_t len = bytes.size();
398  if (len > valueSize/2) {
399  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"[%s] HDMI Display has EDID of %lu bytes. We only support %lu bytes!\n",__FUNCTION__, len, valueSize/2);
400  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"[%s] Rest of EDID will be cut\n", __FUNCTION__);
401  len = valueSize/2;
402  }
403  for(int j = 0; j < len; j++)
404  sprintf(&stMsgData->paramValue[2*j], "%02X", bytes[j]);
405  }
406  else {
407  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] HDMI Display is NOT connected\n",__FUNCTION__);
408  }
409  stMsgData->paramtype = hostIf_StringType;
410  stMsgData->paramLen = strlen(stMsgData->paramValue);
411  if(bCalledEDIDBytes && pChanged && strcmp(backupEDIDBytes, stMsgData->paramValue))
412  {
413  *pChanged = true;
414  }
415  bCalledEDIDBytes = true;
416  strncpy(backupEDIDBytes,stMsgData->paramValue,_BUF_LEN_256-1);
417  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] In getHDMIDisplayDeviceEDIDBytes(): Value: %s \n",__FUNCTION__, stMsgData->paramValue);
418  }
419  catch (const std::exception e) {
420  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"[%s] Exception\n",__FUNCTION__);
421  return NOK;
422  }
423 
424  return OK;
425 }
426 
427 
428 /************************************************************
429  * Description : List of Supported resolution by display device connected.
430  * Precondition : HDMI Display should be connected to STB
431  * Input : stMsgData for result return.
432  pChanged
433 
434  * Return : OK -> Success
435  NOK -> Failure
436  stMsgData->paramValue -> List of Supported resolution.
437 ************************************************************/
438 int hostIf_STBServiceDisplayDevice::getSupportedResolutions(HOSTIF_MsgData_t *stMsgData,bool *pChanged)
439 {
440  size_t iElementInList = 0;
441  size_t iResolutionsListSize = 0;
442  char aiResolution[MAX_RESOLUTION_LENGTH] = {'\0'};
443  try
444  {
446  iResolutionsListSize = vResolutions.size();
447 
448  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] : List Size: %d \n",__FUNCTION__, iResolutionsListSize);
449  memset(stMsgData->paramValue, 0, TR69HOSTIFMGR_MAX_PARAM_LEN);
450 
451  for(iElementInList = 0; iElementInList < iResolutionsListSize; iElementInList++)
452  {
453  device::VideoResolution vResIdex = vPort.getType().getSupportedResolutions().at(iElementInList);
454  snprintf(aiResolution, MAX_RESOLUTION_LENGTH, "%s%s/%sHz",
455  vResIdex.getPixelResolution().getName().c_str(),
456  vResIdex.isInterlaced()?"i":"p",
457  vResIdex.getFrameRate().getName().c_str());
458  strncat(stMsgData->paramValue, aiResolution, TR69HOSTIFMGR_MAX_PARAM_LEN-strlen(stMsgData->paramValue)-1);
459  if(iElementInList < (iResolutionsListSize-1))
460  strncat(stMsgData->paramValue,",", TR69HOSTIFMGR_MAX_PARAM_LEN-strlen(stMsgData->paramValue)-1);
461  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] : resolution: %s\n",__FUNCTION__, vPort.getType().getSupportedResolutions().at(iElementInList).getName().c_str());
462  }
463  stMsgData->paramtype = hostIf_StringType;
464  stMsgData->paramLen = strlen(stMsgData->paramValue);
465  if(bCalledSupportedResolution && pChanged && strcmp(backupSupportedResolution, stMsgData->paramValue))
466  {
467  *pChanged = true;
468  }
469  bCalledSupportedResolution = true;
470  strncpy(backupSupportedResolution,stMsgData->paramValue,_BUF_LEN_16-1);
471  backupSupportedResolution[_BUF_LEN_16-1] = '\0';
472  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] : Value: %s \n",__FUNCTION__, stMsgData->paramValue);
473  }
474  catch (const std::exception e) {
475  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"[%s] Exception\n",__FUNCTION__);
476  return NOK;
477  }
478 
479  return OK;
480 }
481 
482 /************************************************************
483  * Description : preferred resolution of display device connected.
484  * Precondition : HDMI Display should be connected to STB
485  * Input : stMsgData for result return.
486  pChanged
487 
488  * Return : OK -> Success
489  NOK -> Failure
490  stMsgData->paramValue -> preferred resolution [ example : "1920x1080p/24Hz" ]
491 ************************************************************/
492 int hostIf_STBServiceDisplayDevice::getPreferredResolution(HOSTIF_MsgData_t *stMsgData,bool *pChanged)
493 {
494 
495  try
496  {
497  snprintf(stMsgData->paramValue, TR69HOSTIFMGR_MAX_PARAM_LEN, "%s%s/%sHz",
498  vPort.getDefaultResolution().getPixelResolution().getName().c_str(),
499  vPort.getDefaultResolution().isInterlaced()?"i":"p",
500  vPort.getDefaultResolution().getFrameRate().getName().c_str());
501  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s] : Value: %s \n",__FUNCTION__, stMsgData->paramValue);
502  stMsgData->paramtype = hostIf_StringType;
503  stMsgData->paramLen = strlen(stMsgData->paramValue);
504  if(bCalledPreferredResolution && pChanged && strcmp(stMsgData->paramValue, backupPreferredResolution))
505  {
506  *pChanged = true;
507  }
508  bCalledPreferredResolution = true;
509  strncpy(backupPreferredResolution, stMsgData->paramValue, _BUF_LEN_16-1);
510  backupPreferredResolution[_BUF_LEN_16-1] = '\0';
511  }
512  catch (const std::exception e) {
513  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"[%s] Exception\n",__FUNCTION__);
514  return NOK;
515  }
516 
517  return OK;
518 }
519 
520 
521 
522 /** @} */
523 /** @} */
device::VideoOutputPort::Display::getManufacturerYear
int getManufacturerYear() const
This function returns the year of manufacture of the EDID video display device.
Definition: videoOutputPort.hpp:135
_HostIf_MsgData_t::instanceNum
short instanceNum
Definition: hostIf_tr69ReqHandler.h:176
hostIf_STBServiceDisplayDevice::doUpdates
void doUpdates(const char *baseName, updateCallback mUpdateCallback)
This function updates the hostIf display device interface attribute value such as Status,...
Definition: Components_DisplayDevice.cpp:200
Components_DisplayDevice.h
The header file provides components display device information APIs.
device::VideoResolution::getFrameRate
const FrameRate & getFrameRate() const
This API is used to get the frame rate of the given video output port.
Definition: videoResolution.cpp:172
device::VideoResolution
Class extending DSConstant to implement the videoResolution interface.
Definition: videoResolution.hpp:57
device::VideoOutputPort::isDisplayConnected
bool isDisplayConnected() const
This API is used to Check if the port is currently connected to any display device.
Definition: videoOutputPort.cpp:381
device::VideoOutputPort
Class extending enumerable to implement the videoooutputport interface.
Definition: videoOutputPort.hpp:59
_HostIf_MsgData_t
Definition: hostIf_tr69ReqHandler.h:170
device::List::size
size_t size()
This function gets the size of the container.
Definition: list.hpp:118
device::VideoResolution::isInterlaced
bool isInterlaced() const
This API is used to check the video is interlaced or not.
Definition: videoResolution.cpp:185
device::VideoOutputPort::getType
const VideoOutputPortType & getType() const
This API is used to get the type of the video output port. A type of the video output port represent ...
Definition: videoOutputPort.cpp:265
device::VideoOutputPort::getDefaultResolution
const VideoResolution & getDefaultResolution() const
This API is used to get the default resolution supported by the video output port.
Definition: videoOutputPort.cpp:314
device::VideoOutputPort::getDisplay
const VideoOutputPort::Display & getDisplay()
This API is used to get the display device information currently connected to the output port....
Definition: videoOutputPort.cpp:328
hostIf_STBServiceDisplayDevice::hostIf_STBServiceDisplayDevice
hostIf_STBServiceDisplayDevice(int devId, device::VideoOutputPort &port)
Class Constructor of the class hostIf_STBServiceDisplayDevice.
Definition: Components_DisplayDevice.cpp:61
_HostIf_MsgData_t::paramtype
HostIf_ParamType_t paramtype
Definition: hostIf_tr69ReqHandler.h:177
RDK_LOG
#define RDK_LOG
Definition: rdk_debug.h:258
_HostIf_MsgData_t::faultCode
faultCode_t faultCode
Definition: hostIf_tr69ReqHandler.h:179
_HostIf_MsgData_t::paramName
char paramName[(4 *1024)]
Definition: hostIf_tr69ReqHandler.h:171
device::VideoOutputPortType::getSupportedResolutions
const List< VideoResolution > getSupportedResolutions() const
This API is used to get a list of supported Video Resolutions by the port type.
Definition: videoOutputPortType.cpp:311
device::VideoResolution::getPixelResolution
const PixelResolution & getPixelResolution() const
This API is used to get the pixel format of the given video output port.
Definition: videoResolution.cpp:134
device::DSConstant::getName
virtual const std::string & getName() const
This function is used to the get the data member name.
Definition: dsConstant.hpp:141
_HostIf_MsgData_t::paramValue
char paramValue[(4 *1024)]
Definition: hostIf_tr69ReqHandler.h:172
hostIf_STBServiceDisplayDevice::handleGetMsg
int handleGetMsg(const char *paramName, HOSTIF_MsgData_t *stMsgData)
This function get the display device interface attribute value such as Status, EDID,...
Definition: Components_DisplayDevice.cpp:132
device::VideoOutputPort::Display::getEDIDBytes
void getEDIDBytes(std::vector< uint8_t > &edid) const
This function is used to get the EDID information of the connected video display. After it gets the E...
Definition: videoOutputPort.cpp:673
hostIf_STBServiceDisplayDevice::handleSetMsg
int handleSetMsg(const char *paramName, HOSTIF_MsgData_t *stMsgData)
This function set the display device interface attribute value such as Status, EDID,...
Definition: Components_DisplayDevice.cpp:111
device::List< device::VideoResolution >
device::VideoOutputPort::Display::getProductCode
int getProductCode() const
This function returns the product code of the EDID video display device.
Definition: videoOutputPort.hpp:117
device::VideoOutputPort::Display::getSerialNumber
int getSerialNumber() const
This function returns the serial number of the EDID video display device.
Definition: videoOutputPort.hpp:126
device::VideoOutputPort::Display::getManufacturerWeek
int getManufacturerWeek() const
This function returns the week of manufacture of the EDID video display device.
Definition: videoOutputPort.hpp:144
IARM_BUS_TR69HOSTIFMGR_EVENT_VALUECHANGED
@ IARM_BUS_TR69HOSTIFMGR_EVENT_VALUECHANGED
Definition: hostIf_tr69ReqHandler.h:189
_HostIf_MsgData_t::paramLen
short paramLen
Definition: hostIf_tr69ReqHandler.h:175