RDK Documentation (Open Sourced RDK Components)
hostIf_msgHandler.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 hostIf_msgHandler.cpp
22  * @brief The header file provides HostIf message handler information APIs.
23  */
24 
25 /**
26 * @defgroup tr69hostif
27 * @{
28 * @defgroup hostif
29 * @{
30 **/
31 
32 #include <mutex>
33 #include "hostIf_main.h"
34 #include "hostIf_msgHandler.h"
35 #include "hostIf_utils.h"
38 #include "hostIf_XrdkCentralT2_ReqHandler.h"
39 #include "safec_lib.h"
40 
41 #ifdef USE_XRESRC
43 #endif /* USE_XRESRC */
44 #ifdef USE_MoCA_PROFILE
46 #endif /* USE_MoCA_PROFILE */
50 #ifdef USE_WIFI_PROFILE
51 #include "hostIf_WiFi_ReqHandler.h"
52 #endif /* USE_WIFI_PROFILE */
53 #ifdef USE_DHCPv4_PROFILE
55 #endif /* WITH_DHCP_PROFILE*/
56 #ifdef USE_STORAGESERVICE_PROFILE
58 #endif /* USE_STORAGESERVICE_PROFILE */
59 #ifdef USE_INTFSTACK_PROFILE
61 #endif /* USE_INTFSTACK_PROFILE */
62 #ifdef SNMP_ADAPTER_ENABLED
64 #endif
65 #include "x_rdk_req_handler.h"
66 
67 extern GHashTable* paramMgrhash;
68 extern T_ARGLIST argList;
69 static std::mutex get_handler_mutex;
70 static std::mutex set_handler_mutex;
71 
72 int hostIf_GetMsgHandler(HOSTIF_MsgData_t *stMsgData)
73 {
74  LOG_ENTRY_EXIT;
75 
76  int ret = NOK;
77  std::lock_guard<std::mutex> lock(get_handler_mutex);
78  try
79  {
80  /* Find the respective manager and forward the request*/
81  msgHandler *pMsgHandler = HostIf_GetMgr(stMsgData);
82 
83  if(pMsgHandler)
84  ret = pMsgHandler->handleGetMsg(stMsgData);
85  }
86  catch (const std::exception& e)
87  {
88  RDK_LOG (RDK_LOG_ERROR, LOG_TR69HOSTIF, "[%s:%d] Exception caught %s\n", __FUNCTION__, __LINE__, e.what());
89  }
90 
91  return ret;
92 }
93 
94 int hostIf_SetMsgHandler(HOSTIF_MsgData_t *stMsgData)
95 {
96  int ret = NOK;
97 
98  std::lock_guard<std::mutex> lock(set_handler_mutex);
99  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
100 
101  /* Find the respective manager and forward the request*/
102  msgHandler *pMsgHandler = HostIf_GetMgr(stMsgData);
103 
104  if(pMsgHandler)
105  ret = pMsgHandler->handleSetMsg(stMsgData);
106 
107  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
108  return ret;
109 }
110 
111 int hostIf_GetAttributesMsgHandler(HOSTIF_MsgData_t *stMsgData)
112 {
113  int ret = NOK;
114  //printf("[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
115 
116  /* Find the respective manager and forward the request*/
117  msgHandler *pMsgHandler = HostIf_GetMgr(stMsgData);
118 
119  if(pMsgHandler)
120  ret = pMsgHandler->handleGetAttributesMsg(stMsgData);
121 
122  //printf("[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
123  return ret;
124 }
125 
126 int hostIf_SetAttributesMsgHandler(HOSTIF_MsgData_t *stMsgData)
127 {
128  int ret = NOK;
129  //printf("[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
130  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
131  /* Find the respective manager and forward the request*/
132  msgHandler *pMsgHandler = HostIf_GetMgr(stMsgData);
133  if (NULL != pMsgHandler)
134  {
135  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"Valid Handler for %s", __FUNCTION__, __FILE__,stMsgData->paramName);
136  }
137  if(pMsgHandler)
138  ret = pMsgHandler->handleSetAttributesMsg(stMsgData);
139 
140  //printf("[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
141  return ret;
142 }
143 
144 //------------------------------------------------------------------------------
145 // hostIf_Free_stMsgData: Freeing HOSTIF_MsgData_t.
146 //------------------------------------------------------------------------------
147 void hostIf_Free_stMsgData (HOSTIF_MsgData_t *stMsgData)
148 {
149  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
150  if(stMsgData)
151  {
152 // delete stMsgData;
153  g_free(stMsgData);
154  }
155  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
156 }
157 
158 
159 //------------------------------------------------------------------------------
160 // hostIf_Init_Dummy_stMsgData: Initialized Dummy test data
161 //------------------------------------------------------------------------------
162 void hostIf_Init_Dummy_stMsgData (HOSTIF_MsgData_t **stMsgData)
163 {
164  errno_t rc = -1;
165  HOSTIF_MsgData_t *stMsgDummyData = NULL;
166  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
167  if(NULL == *stMsgData)
168  {
169  stMsgDummyData = new HOSTIF_MsgData_t();
170  rc=strcpy_s(stMsgDummyData->paramName,sizeof(stMsgDummyData->paramName), TEST_STR);
171  if(rc!=EOK)
172  {
173  ERR_CHK(rc);
174  }
175  stMsgDummyData->reqType = HOSTIF_GET;
176  stMsgDummyData->instanceNum = 0;
177  *stMsgData = stMsgDummyData;
178  }
179  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
180 }
181 
182 //------------------------------------------------------------------------------
183 // hostIf_Print_msgData: Print Msg data
184 //------------------------------------------------------------------------------
185 void hostIf_Print_msgData(HOSTIF_MsgData_t *stMsgData)
186 {
187  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
188  RDK_LOG(RDK_LOG_INFO,LOG_TR69HOSTIF,"\n****************************************************\n");
189  cout << "Parameter Name : "<< stMsgData->paramName << endl;
190  cout << "Parameter Request Type : "<< stMsgData->reqType << endl;
191  switch (stMsgData->paramtype) {
192  case hostIf_StringType:
193  cout << "Parameter Value : "<< (char *)stMsgData->paramValue << endl;
194  break;
195  case hostIf_BooleanType:
196  cout << "Parameter Value : "<< (get_boolean(stMsgData->paramValue)?"true":"false") << endl;
197  break;
198  default:
199  cout << "Parameter Value : "<< get_int(stMsgData->paramValue) << endl;
200  }
201  cout << "Parameter Length : "<< stMsgData->paramLen << endl;
202  cout << "Parameter Type : "<< stMsgData->paramtype << endl;
203  cout << "Parameter Instance number : "<< stMsgData->instanceNum << endl;
204  RDK_LOG(RDK_LOG_INFO,LOG_TR69HOSTIF,"****************************************************\n");
205  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
206 }
207 
208 bool hostIf_initalize_ConfigManger()
209 {
210  bool bVal = true;
211  HostIf_ParamMgr_t mgrName = HOSTIF_INVALID_Mgr;
212  char param[100] = {'\0'};
213  char mgr[16] = {'\0'};
214 
215  FILE *fp = NULL;
216 
217  fp = fopen(argList.confFile, "r");
218 
219  if (fp == NULL)
220  {
221  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s]Error opening the %s file\n", __FILE__, __FUNCTION__, argList.confFile );
222  bVal = false;
223  exit(EXIT_FAILURE);
224  }
225 
226  paramMgrhash = g_hash_table_new(g_str_hash, g_int_equal);
227  if(paramMgrhash)
228  {
229  while (fscanf( fp, "%s %s", param, mgr) != EOF)
230  {
231  if(strcasecmp(mgr, "deviceMgr") == 0)
232  {
233  mgrName = HOSTIF_DeviceMgr;
234  }
235  else if(strcasecmp(mgr, "dsMgr") == 0)
236  {
237  mgrName = HOSTIF_DSMgr;
238  }
239  else if(strcasecmp(mgr, "telemetryMgr") == 0)
240  {
241  mgrName = HOSTIF_TelemetryMgr;
242  }
243 #ifdef USE_MoCA_PROFILE
244  else if(strcasecmp(mgr, "mocaMgr") == 0)
245  {
246  mgrName = HOSTIF_MoCAMgr;
247  }
248 #endif /* USE_MoCA_PROFILE*/
249 #ifdef USE_XRESRC
250  else if(strcasecmp(mgr, "xreMgr") == 0)
251  {
252  mgrName = HOSTIF_XREMgr;
253  }
254 #endif /* USE_XRESRC*/
255  else if(strcasecmp(mgr, "ethernetMgr") == 0)
256  {
257  mgrName = HOSTIF_EthernetMgr;
258  }
259  else if(strcasecmp(mgr, "ipMgr") == 0)
260  {
261  mgrName = HOSTIF_IPMgr;
262  }
263  else if(strcasecmp(mgr, "timeMgr") == 0)
264  {
265  mgrName = HOSTIF_TimeMgr;
266  }
267 #ifdef USE_WIFI_PROFILE
268  else if (strcasecmp(mgr, "wifiMgr") == 0)
269  {
270  mgrName = HOSTIF_WiFiMgr;
271  }
272 #endif
273 #ifdef USE_DHCPv4_PROFILE
274  else if(strcasecmp(mgr, "dhcpv4Mgr") == 0)
275  {
276  mgrName = HOSTIF_DHCPv4;
277  }
278 #endif /* USE_DHCPv4_PROFILE */
279 #ifdef USE_INTFSTACK_PROFILE
280  else if(strcasecmp(mgr, "ifStackMgr") == 0)
281  {
282  mgrName = HOSTIF_InterfaceStack;
283  }
284 #endif /* USE_INTFSTACK_PROFILE */
285 #ifdef USE_STORAGESERVICE_PROFILE
286  else if(strcasecmp(mgr, "storageSrvcMgr") == 0)
287  {
288  mgrName = HOSTIF_StorageSrvcMgr;
289  }
290 #endif /* USE_STORAGESERVICE_PROFILE */
291 #ifdef SNMP_ADAPTER_ENABLED
292  else if(strcasecmp(mgr, "snmpAdapterMgr") == 0)
293  {
294  mgrName = HOSTIF_SNMPAdapterMgr;
295  }
296 #endif
297  else if(strcasecmp(mgr, "rdkProfileMgr") == 0)
298  {
299  mgrName = HOSTIF_RdkProfileMgr;
300  }
301 
302  if(mgrName != HOSTIF_INVALID_Mgr) {
303  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"param: %s \tMgr: [%s => %d]\n", param, mgr, mgrName);
304  g_hash_table_insert(paramMgrhash, (gpointer)g_strdup(param), (gpointer)mgrName);
305  } else {
306  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"Invalid Hostif Manager for param %s, Skipping...\n", param);
307  }
308  }
309  }
310  else
311  {
312  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"Failed to initialize hash table.\n");
313  bVal = false;
314  }
315  fclose(fp); //CID:82865 - Resource leak
316  return bVal;
317 }
318 
319 msgHandler* HostIf_GetMgr(HOSTIF_MsgData_t *stMsgHandlerData)
320 {
321  const char *pParam = stMsgHandlerData->paramName;
322  HostIf_ParamMgr_t mgrId;
323  msgHandler* pRet = NULL;
324  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s()] Get proper manager for parameter :- %s \n", __FUNCTION__,stMsgHandlerData->paramName);
325  if(NULL != paramMgrhash)
326  {
327  GList *list = g_hash_table_get_keys(paramMgrhash);
328  GList *keys = list;
329  while(keys) {
330  char *data = (char *)keys->data;
331  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s()] DATA = %s\n",__FUNCTION__, data);
332  if(strncmp(data,pParam,strlen(data)) == 0)
333  {
334  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s()] pParam: %s data:%s\n", __FUNCTION__,pParam, data);
335  break;
336  }
337  keys = keys->next;
338  }
339  if(keys)
340  {
341  gpointer item_ptr = g_hash_table_lookup(paramMgrhash, (char *)keys->data);
342  if(item_ptr == NULL) {
343  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s] Not able to find proper manager for param %s.\n",pParam);
344  }
345  else
346  {
347  mgrId = (HostIf_ParamMgr_t)GPOINTER_TO_INT(item_ptr);
348 
349  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s][For Parameter path: \"%s\"; Manager :%d ] \n", __FUNCTION__, pParam, mgrId);
350 
351  switch (mgrId) {
352  case HOSTIF_DSMgr:
353  pRet = DSClientReqHandler::getInstance();
354  break;
355 #ifdef USE_XRESRC
356  case HOSTIF_XREMgr:
357  pRet = XREClientReqHandler::getInstance();
358  break;
359 #endif /*USE_XRESRC*/
360  case HOSTIF_DeviceMgr:
361  pRet = DeviceClientReqHandler::getInstance();
362  break;
363 #ifdef USE_MoCA_PROFILE
364  case HOSTIF_MoCAMgr:
365  pRet = MoCAClientReqHandler::getInstance();
366  break;
367 #endif /* USE_MoCA_PROFILE*/
368  case HOSTIF_EthernetMgr:
369  pRet = EthernetClientReqHandler::getInstance();
370  break;
371  case HOSTIF_TimeMgr:
372  pRet = TimeClientReqHandler::getInstance();
373  break;
374  case HOSTIF_IPMgr:
375  pRet = IPClientReqHandler::getInstance();
376  break;
377 #ifdef USE_WIFI_PROFILE
378  case HOSTIF_WiFiMgr:
379  pRet = WiFiReqHandler::getInstance();
380  break;
381 #endif /* USE_WIFI_PROFILE*/
382 #ifdef USE_DHCPv4_PROFILE
383  case HOSTIF_DHCPv4:
384  pRet = DHCPv4ClientReqHandler::getInstance();
385  break;
386 #endif /* USE_DHCPv4_PROFILE*/
387 #ifdef USE_INTFSTACK_PROFILE
388  case HOSTIF_InterfaceStack:
389  pRet = InterfaceStackClientReqHandler::getInstance();
390  break;
391 #endif /* USE_INTFSTACK_PROFILE */
392 #ifdef USE_STORAGESERVICE_PROFILE
393  case HOSTIF_StorageSrvcMgr:
394  pRet = StorageSrvcReqHandler::getInstance();
395  break;
396 #endif /* USE_STORAGESERVICE_PROFILE */
397 #ifdef SNMP_ADAPTER_ENABLED
398  case HOSTIF_SNMPAdapterMgr:
399  pRet = SNMPClientReqHandler::getInstance();
400  break;
401 #endif
402  case HOSTIF_TelemetryMgr:
403  pRet = XRdkCentralT2::getInstance();
404  break;
405  case HOSTIF_RdkProfileMgr:
406  pRet = X_rdk_req_hdlr::getInstance();
407  break;
408  default:
409  ;
410  }
411  }
412  }
413  else {
414  RDK_LOG(RDK_LOG_INFO,LOG_TR69HOSTIF,"[%s()]Not able to get Key parameter :- %s \n", __FUNCTION__,stMsgHandlerData->paramName);
415  }
416  if (list)
417  g_list_free(list);
418  }
419  else
420  {
421  RDK_LOG(RDK_LOG_INFO,LOG_TR69HOSTIF,"[%s()] paramMgrhash is Null parameter :- %s \n", __FUNCTION__,stMsgHandlerData->paramName);
422  }
423  return pRet;
424 }
425 
426 
427 bool hostIf_ConfigProperties_Init()
428 {
429  bool status = false;
430  GKeyFile *key_file = NULL;
431  GError *error = NULL;
432  gsize length = 0;
433  gdouble double_value = 0;
434  guint group = 0, key = 0;
435  HostIf_ParamMgr_t mgrName = HOSTIF_INVALID_Mgr; //CID:82970 - UNINIT
436 
437  if(argList.confFile[0] == '\0')
438  {
439  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s:%d] Failed to read Hostif Manager Configuration file \n", __FILE__, __FUNCTION__, __LINE__);
440  return false;
441  }
442 
443  key_file = g_key_file_new();
444 
445  if(!key_file) {
446  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s:%d] Failed to g_key_file_new() \n", __FILE__, __FUNCTION__, __LINE__);
447  return false;
448  }
449 
450  if(!g_key_file_load_from_file(key_file, argList.confFile, G_KEY_FILE_KEEP_COMMENTS, &error))
451  {
452  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"%s", error->message);
453  return false;
454  }
455  else
456  {
457  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s:%s:%d]\n", __FILE__, __FUNCTION__, __LINE__);
458  paramMgrhash = g_hash_table_new(g_str_hash, g_int_equal);
459  if(paramMgrhash) {
460  gsize groups_id, num_keys;
461  gchar **groups, **keys, *value;
462  groups = g_key_file_get_groups(key_file, &groups_id);
463  for(group = 0; group < groups_id; group++)
464  {
465  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"group %u/%u: \t%s\n", group, groups_id - 1, groups[group]);
466  if(0 == strncasecmp(HOSTIF_MGR_GROUP, groups[group], strlen(groups[group])))
467  {
468  keys = g_key_file_get_keys(key_file, groups[group], &num_keys, &error);
469  for(key = 0; key < num_keys; key++)
470  {
471  value = g_key_file_get_value(key_file, groups[group], keys[key], &error);
472  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"\t\tkey %u/%u: \t%s => %s\n", key, num_keys - 1, keys[key], value);
473 
474  if(strcasecmp(value, "deviceMgr") == 0)
475  {
476  mgrName = HOSTIF_DeviceMgr;
477  }
478  else if(strcasecmp(value, "dsMgr") == 0)
479  {
480  mgrName = HOSTIF_DSMgr;
481  }
482 #ifdef USE_MoCA_PROFILE
483  else if(strcasecmp(value, "mocaMgr") == 0)
484  {
485  mgrName = HOSTIF_MoCAMgr;
486  }
487 #endif /* USE_MoCA_PROFILE*/
488 #ifdef USE_XRESRC
489  else if(strcasecmp(value, "xreMgr") == 0)
490  {
491  mgrName = HOSTIF_XREMgr;
492  }
493 #endif /* USE_XRESRC*/
494  else if(strcasecmp(value, "ethernetMgr") == 0)
495  {
496  mgrName = HOSTIF_EthernetMgr;
497  }
498  else if(strcasecmp(value, "ipMgr") == 0)
499  {
500  mgrName = HOSTIF_IPMgr;
501  }
502  else if(strcasecmp(value, "timeMgr") == 0)
503  {
504  mgrName = HOSTIF_TimeMgr;
505  }
506 
507 #ifdef USE_DHCPv4_PROFILE
508  else if(strcasecmp(value, "dhcpv4Mgr") == 0)
509  {
510  mgrName = HOSTIF_DHCPv4;
511  }
512 #endif /* USE_DHCPv4_PROFILE*/
513 #ifdef USE_STORAGESERVICE_PROFILE
514  else if(strcasecmp(value, "storageSrvcMgr") == 0)
515  {
516  mgrName = HOSTIF_StorageSrvcMgr;
517  }
518 #endif /* USE_STORAGESERVICE_PROFILE */
519 #ifdef SNMP_ADAPTER_ENABLED
520  else if(strcasecmp(value, "snmpAdapterMgr") == 0)
521  {
522  mgrName = HOSTIF_SNMPAdapterMgr;
523  }
524 #endif
525  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"param: %s \tMgr: [%s => %d]\n", keys[key], value, mgrName);
526  g_hash_table_insert(paramMgrhash, (gpointer)g_strdup(keys[key]), (gpointer)mgrName);
527 
528  g_free(value);
529  }
530  g_strfreev(keys);
531  }
532  else if(0 == strncasecmp(HOSTIF_MGR_GROUP, groups[group], strlen(groups[group])))
533  {
534 
535  }
536  else if (0 == strncasecmp(HOSTIF_GENERAL_CONG_GROUP, groups[group], strlen(groups[group])))
537  {
538 
539  }
540  }
541  g_strfreev(groups);
542  }
543  }
544 
545  g_key_file_free(key_file);
546 
547  return true;
548 }
549 
550 
551 
552 /** @} */
553 /** @} */
_HostIf_MsgData_t::reqType
HostIf_ReqType_t reqType
Definition: hostIf_tr69ReqHandler.h:178
_HostIf_MsgData_t::instanceNum
short instanceNum
Definition: hostIf_tr69ReqHandler.h:176
hostIf_SNMPClient_ReqHandler.h
The header file provides HostIf SNMP client request handler information APIs.
hostIf_IPClient_ReqHandler.h
The header file provides HostIf IP client request handler information APIs.
_HostIf_MsgData_t
Definition: hostIf_tr69ReqHandler.h:170
hostIf_StorageSrvc_ReqHandler.h
The header file provides HostIf Storage service request handler information APIs.
hostIf_XREClient_ReqHandler.h
The header file provides HostIf XRE Client request handler information APIs.
hostIf_main.h
hostIf_main API.
hostIf_DeviceClient_ReqHandler.h
The header file provides HostIf Device client request handler information APIs.
HOSTIF_MsgData_t
struct _HostIf_MsgData_t HOSTIF_MsgData_t
_HostIf_MsgData_t::paramtype
HostIf_ParamType_t paramtype
Definition: hostIf_tr69ReqHandler.h:177
RDK_LOG
#define RDK_LOG
Definition: rdk_debug.h:258
hostIf_DHCPv4Client_ReqHandler.h
host Interface for DHCPV4 Client Request Handler.
_HostIf_MsgData_t::paramName
char paramName[(4 *1024)]
Definition: hostIf_tr69ReqHandler.h:171
HostIf_ParamMgr_t
enum _HostIf_ParamMgr HostIf_ParamMgr_t
hostIf_InterfaceStackClient_ReqHandler.h
The header file provides HostIf InterfaceStack client request handler information APIs.
x_rdk_req_handler.h
The header file provides Device.X_RDK_<Parameter> client request handler information APIs.
hostIf_MoCAClient_ReqHandler.h
The header file provides HostIf MoCA client request handler information APIs.
msgHandler::handleGetMsg
virtual int handleGetMsg(HOSTIF_MsgData_t *stMsgData)=0
This is a pure virtual function used to handle the get message request. Currently not implemented.
_HostIf_MsgData_t::paramValue
char paramValue[(4 *1024)]
Definition: hostIf_tr69ReqHandler.h:172
hostIf_dsClient_ReqHandler.h
The header file provides HostIf ds client request handler information APIs.
argsList
Definition: hostIf_main.h:126
msgHandler
Definition: hostIf_msgHandler.h:103
hostIf_msgHandler.h
The header file provides HostIf message handler information APIs.
hostIf_WiFi_ReqHandler.h
The header file provides HostIf WiFi request handler information APIs.
msgHandler::handleSetMsg
virtual int handleSetMsg(HOSTIF_MsgData_t *stMsgData)=0
This is a pure virtual function used to handle the set message request. Currently not implemented.
hostIf_TimeClient_ReqHandler.h
The header file provides HostIf time client request handler information APIs.
hostIf_EthernetClient_ReqHandler.h
The header file provides HostIf Ethernet client request handler information APIs.
_HostIf_MsgData_t::paramLen
short paramLen
Definition: hostIf_tr69ReqHandler.h:175