39 #ifdef SPEEDTEST_SUPPORT
40 #include "Device_IP_Diagnostics_SpeedTest.h"
41 #endif //SPEEDTEST_SUPPORT
44 #endif // IPV6_SUPPORT
47 #include "Device_IP_Diagnostics_IPPing.h"
48 #include "safec_lib.h"
51 std::mutex IPClientReqHandler::m_mutex;
53 updateCallback IPClientReqHandler::mUpdateCallback = NULL;
54 int IPClientReqHandler::curNumOfIPInterface = 0;
55 int IPClientReqHandler::curNumOfInterfaceIPv4Addresses[100] = {0,};
57 int IPClientReqHandler::curNumOfInterfaceIPv6Addresses[100] = {0,};
58 int IPClientReqHandler::curNumOfInterfaceIPv6Prefixes[100] = {0,};
59 #endif // IPV6_SUPPORT
60 int IPClientReqHandler::curNumOfIPv4Interface[20] = {0,};
61 int IPClientReqHandler::curNumOfActivePorts[20] = {0,};
63 IPClientReqHandler::IPClientReqHandler ()
67 IPClientReqHandler::~IPClientReqHandler ()
78 void IPClientReqHandler::reset()
80 std::lock_guard<std::mutex> lg (m_mutex);
82 curNumOfIPInterface = 0;
83 memset (curNumOfInterfaceIPv4Addresses, 0,
sizeof(curNumOfInterfaceIPv4Addresses));
85 memset (curNumOfInterfaceIPv6Addresses, 0,
sizeof(curNumOfInterfaceIPv6Addresses));
86 memset (curNumOfInterfaceIPv6Prefixes, 0,
sizeof(curNumOfInterfaceIPv6Prefixes));
87 #endif // IPV6_SUPPORT
88 memset (curNumOfIPv4Interface, 0,
sizeof(curNumOfIPv4Interface));
89 memset (curNumOfActivePorts, 0,
sizeof(curNumOfActivePorts));
103 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
104 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
120 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
122 hostIf_IPInterface::closeAllInstances();
123 hostIf_IPInterfaceStats::closeAllInstances();
124 hostIf_IPv4Address::closeAllInstances();
125 hostIf_IPActivePort::closeAllInstances();
126 hostIf_IP::closeAllInstances();
128 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
148 int ret = NOT_HANDLED;
149 const char *positionAfterInstanceNumber = 0;
150 int instanceNumber = 0;
154 int interfaceNumberOfEntries = 0;
156 memset(&msgData,0,
sizeof(msgData));
158 std::lock_guard<std::mutex> lg (m_mutex);
160 RDK_LOG (RDK_LOG_TRACE1, LOG_TR69HOSTIF,
"[%s:%s:%d] Found string as %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
162 if (matchComponent (stMsgData->
paramName,
"Device.IP.Interface", &positionAfterInstanceNumber, instanceNumber))
172 interfaceNumberOfEntries = get_int (msgData.
paramValue);
174 if(instanceNumber > interfaceNumberOfEntries)
180 const char *positionAfterSubInstanceNumber = 0;
181 int subInstanceNumber;
183 if (strncasecmp (positionAfterInstanceNumber,
"Stats", strlen (
"Stats")) == 0)
186 ret = pIfaceStats->handleGetMsg (positionAfterInstanceNumber, stMsgData);
188 else if (matchComponent (positionAfterInstanceNumber,
"IPv4Address", &positionAfterSubInstanceNumber, subInstanceNumber))
193 ret = pIfaceIPv4->handleGetMsg (positionAfterSubInstanceNumber, subInstanceNumber, stMsgData);
196 else if (matchComponent (positionAfterInstanceNumber,
"IPv6Address", &positionAfterSubInstanceNumber, subInstanceNumber))
201 ret = pIfaceIPv6->handleGetMsg (positionAfterSubInstanceNumber, subInstanceNumber, stMsgData,
true);
203 else if (matchComponent (positionAfterInstanceNumber,
"IPv6Prefix", &positionAfterSubInstanceNumber, subInstanceNumber))
208 ret = pIfaceIPv6->handleGetMsg (positionAfterSubInstanceNumber, subInstanceNumber, stMsgData,
false);
210 #endif // IPV6_SUPPORT
216 ret = pIface->handleGetMsg (positionAfterInstanceNumber, stMsgData);
219 else if (strncasecmp (stMsgData->
paramName, hostIf_IP_Diagnostics_IPPing::PROFILE_NAME, strlen (hostIf_IP_Diagnostics_IPPing::PROFILE_NAME)) == 0)
222 ret = ipping.handleGetMsg (stMsgData);
224 #ifdef SPEEDTEST_SUPPORT
225 else if (strncasecmp (stMsgData->
paramName, hostIf_IP_Diagnostics_SpeedTest::SpeedTestProfile, strlen (hostIf_IP_Diagnostics_SpeedTest::SpeedTestProfile)) == 0)
231 else if (matchComponent (stMsgData->
paramName,
"Device.IP.ActivePort", &positionAfterInstanceNumber, instanceNumber))
235 if (!pIfaceActivePort)
237 ret = pIfaceActivePort->handleGetMsg (positionAfterInstanceNumber, stMsgData);
239 else if (strncasecmp (stMsgData->
paramName,
"Device.IP", strlen (
"Device.IP")) == 0)
242 hostIf_IP *pIPIface = hostIf_IP::getInstance (instanceNumber);
245 ret = pIPIface->handleGetMsg (stMsgData);
249 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%d] Parameter : \'%s\' is Not Supported \n", __FUNCTION__, __LINE__, stMsgData->
paramName);
250 stMsgData->
faultCode = fcInvalidParameterName;
273 int ret = NOT_HANDLED;
274 const char *positionAfterInstanceNumber = 0;
277 RDK_LOG (RDK_LOG_TRACE1, LOG_TR69HOSTIF,
"[%s:%s:%d] Found string as %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
279 std::lock_guard<std::mutex> lg (m_mutex);
281 if (matchComponent (stMsgData->
paramName,
"Device.IP.Interface", &positionAfterInstanceNumber, instanceNumber))
284 const char *positionAfterSubInstanceNumber = 0;
285 int subInstanceNumber;
286 if (matchComponent (positionAfterInstanceNumber,
"IPv4Address", &positionAfterSubInstanceNumber, subInstanceNumber))
291 ret = pIfaceIPv4->handleSetMsg (positionAfterSubInstanceNumber, subInstanceNumber, stMsgData);
294 else if (matchComponent (positionAfterInstanceNumber,
"IPv6Address", &positionAfterSubInstanceNumber, subInstanceNumber))
299 ret = pIfaceIPv6->handleSetMsg (positionAfterSubInstanceNumber, subInstanceNumber, stMsgData,
true);
301 else if (matchComponent (positionAfterInstanceNumber,
"IPv6Prefix", &positionAfterSubInstanceNumber, subInstanceNumber))
306 ret = pIfaceIPv6->handleSetMsg (positionAfterSubInstanceNumber, subInstanceNumber, stMsgData,
false);
308 #endif // IPV6_SUPPORT
315 ret = pIface->handleSetMsg (positionAfterInstanceNumber, stMsgData);
318 else if (strncasecmp (stMsgData->
paramName, hostIf_IP_Diagnostics_IPPing::PROFILE_NAME, strlen (hostIf_IP_Diagnostics_IPPing::PROFILE_NAME)) == 0)
321 ret = ipping.handleSetMsg (stMsgData);
323 #ifdef SPEEDTEST_SUPPORT
324 else if (strncasecmp (stMsgData->
paramName, hostIf_IP_Diagnostics_SpeedTest::SpeedTestProfile, strlen (hostIf_IP_Diagnostics_SpeedTest::SpeedTestProfile)) == 0)
330 else if (strncasecmp (stMsgData->
paramName,
"Device.IP", strlen (
"Device.IP")))
333 hostIf_IP *pIPIface = hostIf_IP::getInstance (instanceNumber);
336 ret = pIPIface->handleSetMsg (stMsgData);
338 stMsgData->
faultCode = (OK == ret)?fcNoFault:fcRequestDenied;
344 int ret = NOT_HANDLED;
345 int instanceNumber = 0;
347 std::lock_guard<std::mutex> lg (m_mutex);
349 hostIf_IP *pIface = hostIf_IP::getInstance(instanceNumber);
356 GHashTable* notifyhash = pIface->getNotifyHash();
357 if(notifyhash != NULL)
359 int* notifyvalue = (
int*) g_hash_table_lookup(notifyhash,stMsgData->
paramName);
361 stMsgData->
paramtype = hostIf_IntegerType;
374 int ret = NOT_HANDLED;
375 int instanceNumber = 0;
378 std::lock_guard<std::mutex> lg (m_mutex);
380 hostIf_IP *pIface = hostIf_IP::getInstance(instanceNumber);
386 GHashTable* notifyhash = pIface->getNotifyHash();
387 if(notifyhash != NULL)
390 notifyValuePtr = (
int*) malloc(1 *
sizeof(
int));
395 char *notifyKey = NULL;
396 notifyKey = (
char*) calloc(
sizeof(
char),strlen(stMsgData->
paramName)+1);
397 if((NULL != notifyValuePtr) && (NULL != notifyKey))
405 g_hash_table_insert(notifyhash,notifyKey,notifyValuePtr);
411 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] EthernetClientReqHandler Not able to allocate Notify pointer %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
414 free(notifyValuePtr);
419 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] EthernetClientReqHandler Not able to get notifyhash %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
423 void IPClientReqHandler::registerUpdateCallback(updateCallback cb)
425 mUpdateCallback = cb;
428 void IPClientReqHandler::checkForUpdates()
430 if (mUpdateCallback == 0)
437 char objectPath[TR69HOSTIFMGR_MAX_PARAM_LEN];
439 hostIf_IP::getLock();
441 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s:%d] \n",__FILE__, __FUNCTION__,__LINE__);
443 memset(&msgData,0,
sizeof(msgData));
445 int interfaceNumberOfEntries = 0;
448 interfaceNumberOfEntries = get_int (msgData.
paramValue);
449 RDK_LOG (RDK_LOG_DEBUG, LOG_TR69HOSTIF,
"[%s:%s:%d] interfaceNumberOfEntries = %d, curNumOfIPInterface = %d\n",
450 __FILE__, __FUNCTION__, __LINE__, interfaceNumberOfEntries, curNumOfIPInterface);
451 sprintf (objectPath,
"Device.IP.Interface.");
452 sendAddRemoveEvents (mUpdateCallback, interfaceNumberOfEntries, curNumOfIPInterface, objectPath);
455 for (
int i = 1; i <= interfaceNumberOfEntries; i++)
458 RDK_LOG (RDK_LOG_DEBUG, LOG_TR69HOSTIF,
"[%s:%s:%d] ipv4AddressNumberOfEntries = %d, curNumOfInterfaceIPv4Addresses[%d] = %d\n",
459 __FILE__, __FUNCTION__, __LINE__, ipv4AddressNumberOfEntries, i, curNumOfInterfaceIPv4Addresses[i]);
460 sprintf (objectPath,
"Device.IP.Interface.%d.IPv4Address.", i);
461 sendAddRemoveEvents (mUpdateCallback, ipv4AddressNumberOfEntries, curNumOfInterfaceIPv4Addresses[i], objectPath);
465 RDK_LOG (RDK_LOG_DEBUG, LOG_TR69HOSTIF,
"[%s:%s:%d] ipv6AddressNumberOfEntries = %d, curNumOfInterfaceIPv6Addresses[%d] = %d\n",
466 __FILE__, __FUNCTION__, __LINE__, ipv6AddressNumberOfEntries, i, curNumOfInterfaceIPv6Addresses[i]);
467 sprintf (objectPath,
"Device.IP.Interface.%d.IPv6Address.", i);
468 sendAddRemoveEvents (mUpdateCallback, ipv6AddressNumberOfEntries, curNumOfInterfaceIPv6Addresses[i], objectPath);
470 int ipv6PrefixNumberOfEntries = hostIf_IPInterface::getInstance (i)->getIPv6PrefixNumberOfEntries ();
471 RDK_LOG (RDK_LOG_DEBUG, LOG_TR69HOSTIF,
"[%s:%s:%d] ipv6PrefixNumberOfEntries = %d, curNumOfInterfaceIPv6Prefixes[%d] = %d\n",
472 __FILE__, __FUNCTION__, __LINE__, ipv6PrefixNumberOfEntries, i, curNumOfInterfaceIPv6Prefixes[i]);
473 sprintf (objectPath,
"Device.IP.Interface.%d.IPv6Prefix.", i);
474 sendAddRemoveEvents (mUpdateCallback, ipv6PrefixNumberOfEntries, curNumOfInterfaceIPv6Prefixes[i], objectPath);
476 #endif // IPV6_SUPPORT
479 hostIf_IP::releaseLock();
481 #ifdef HAVE_ADD_REMOVE_EVENT
483 hostIf_IP::getLock();
487 memset(&msgData,0,
sizeof(msgData));
491 int activePortNumberOfEntries = get_int (msgData.
paramValue);
492 sprintf (objectPath,
"Device.IP.ActivePort.");
493 sendAddRemoveEvents (mUpdateCallback, activePortNumberOfEntries, curNumOfActivePorts[index], objectPath);
496 hostIf_IP::releaseLock();
500 #ifdef HAVE_VALUE_CHANGE_EVENT
502 std::lock_guard<std::mutex> lg (m_mutex);
504 int instanceNumber = 0;
505 GHashTable* notifyhash = NULL;
509 hostIf_IP *dIface = hostIf_IP::getInstance(instanceNumber);
512 notifyhash = dIface->getNotifyHash();
516 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Unable to get Device IP Instance\n", __FUNCTION__, __FILE__);
520 if(NULL != notifyhash)
522 GHashTableIter notifyHashIterator;
524 gpointer notifyEnable;
526 const char *pSetting;
528 const char *positionAfterSubInstanceNumber = 0;
529 const char *positionAfterInstanceNumber = 0;
530 int subInstanceNumber;
532 g_hash_table_iter_init (¬ifyHashIterator, notifyhash);
533 while (g_hash_table_iter_next (¬ifyHashIterator, ¶mName, ¬ifyEnable))
535 int* isNotifyEnabled = (
int *)notifyEnable;
537 if(matchComponent((
const char*)paramName,
"Device.IP.Interface",&pSetting,instanceNumber))
546 if (strcasecmp(pSetting,
"Enable") == 0)
548 memset(&msgData,0,
sizeof(msgData));
553 if(mUpdateCallback && (*isNotifyEnabled == 1))
559 else if (strcasecmp(pSetting,
"IPv4Enable") == 0)
561 memset(&msgData,0,
sizeof(msgData));
566 if(mUpdateCallback && (*isNotifyEnabled == 1))
572 else if (strcasecmp(pSetting,
"IPv6Enable") == 0)
574 memset(&msgData,0,
sizeof(msgData));
576 pIface->get_Interface_IPv6Enable(&msgData,&bChanged);
579 if(mUpdateCallback && (*isNotifyEnabled == 1))
585 else if (strcasecmp(pSetting,
"ULAEnable") == 0)
587 memset(&msgData,0,
sizeof(msgData));
592 if(mUpdateCallback && (*isNotifyEnabled == 1))
599 else if (strcasecmp(pSetting,
"Status") == 0)
601 memset(&msgData,0,
sizeof(msgData));
606 if(mUpdateCallback && (*isNotifyEnabled == 1))
612 else if (strcasecmp(pSetting,
"Alias") == 0)
614 memset(&msgData,0,
sizeof(msgData));
619 if(mUpdateCallback && (*isNotifyEnabled == 1))
625 else if (strcasecmp(pSetting,
"Name") == 0)
627 memset(&msgData,0,
sizeof(msgData));
632 if(mUpdateCallback && (*isNotifyEnabled == 1))
638 else if (strcasecmp(pSetting,
"LastChange") == 0)
640 memset(&msgData,0,
sizeof(msgData));
645 if(mUpdateCallback && (*isNotifyEnabled == 1))
651 else if (strcasecmp(pSetting,
"LowerLayers") == 0)
653 memset(&msgData,0,
sizeof(msgData));
658 if(mUpdateCallback && (*isNotifyEnabled == 1))
664 else if (strcasecmp(pSetting,
"Router") == 0)
666 memset(&msgData,0,
sizeof(msgData));
671 if(mUpdateCallback && (*isNotifyEnabled == 1))
677 else if (strcasecmp(pSetting,
"Reset") == 0)
679 memset(&msgData,0,
sizeof(msgData));
684 if(mUpdateCallback && (*isNotifyEnabled == 1))
690 else if(strcasecmp(pSetting,
"MaxMTUSize") == 0)
692 memset(&msgData,0,
sizeof(msgData));
697 if(mUpdateCallback && (*isNotifyEnabled == 1))
703 else if(strcasecmp(pSetting,
"Type") == 0)
705 memset(&msgData,0,
sizeof(msgData));
710 if(mUpdateCallback && (*isNotifyEnabled == 1))
716 else if(strcasecmp(pSetting,
"Loopback") == 0)
718 memset(&msgData,0,
sizeof(msgData));
723 if(mUpdateCallback && (*isNotifyEnabled == 1))
729 else if(strcasecmp(pSetting,
"AutoIPEnable") == 0)
731 memset(&msgData,0,
sizeof(msgData));
736 if(mUpdateCallback && (*isNotifyEnabled == 1))
742 else if(strncasecmp (pSetting,
"Stats", strlen (
"Stats")) == 0)
745 if(strcasecmp(pSetting,
"Stats.BytesSent") == 0)
747 memset(&msgData,0,
sizeof(msgData));
752 if(mUpdateCallback && (*isNotifyEnabled == 1))
758 else if(strcasecmp(pSetting,
"Stats.BytesReceived") == 0)
760 memset(&msgData,0,
sizeof(msgData));
765 if(mUpdateCallback && (*isNotifyEnabled == 1))
771 else if(strcasecmp(pSetting,
"Stats.PacketsSent") == 0)
773 memset(&msgData,0,
sizeof(msgData));
778 if(mUpdateCallback && (*isNotifyEnabled == 1))
784 else if(strcasecmp(pSetting,
"Stats.PacketsReceived") == 0)
786 memset(&msgData,0,
sizeof(msgData));
791 if(mUpdateCallback && (*isNotifyEnabled == 1))
797 else if(strcasecmp(pSetting,
"Stats.ErrorsSent") == 0)
799 memset(&msgData,0,
sizeof(msgData));
804 if(mUpdateCallback && (*isNotifyEnabled == 1))
810 else if(strcasecmp(pSetting,
"Stats.ErrorsReceived") == 0)
812 memset(&msgData,0,
sizeof(msgData));
817 if(mUpdateCallback && (*isNotifyEnabled == 1))
823 else if(strcasecmp(pSetting,
"Stats.UnicastPacketsSent") == 0)
825 memset(&msgData,0,
sizeof(msgData));
830 if(mUpdateCallback && (*isNotifyEnabled == 1))
836 else if(strcasecmp(pSetting,
"Stats.UnicastPacketsSent") == 0)
838 memset(&msgData,0,
sizeof(msgData));
843 if(mUpdateCallback && (*isNotifyEnabled == 1))
849 else if(strcasecmp(pSetting,
"Stats.UnicastPacketsReceived") == 0)
851 memset(&msgData,0,
sizeof(msgData));
856 if(mUpdateCallback && (*isNotifyEnabled == 1))
862 else if(strcasecmp(pSetting,
"Stats.DiscardPacketsSent") == 0)
864 memset(&msgData,0,
sizeof(msgData));
869 if(mUpdateCallback && (*isNotifyEnabled == 1))
875 else if(strcasecmp(pSetting,
"Stats.DiscardPacketsReceived") == 0)
877 memset(&msgData,0,
sizeof(msgData));
882 if(mUpdateCallback && (*isNotifyEnabled == 1))
888 else if(strcasecmp(pSetting,
"Stats.MulticastPacketsSent") == 0)
890 memset(&msgData,0,
sizeof(msgData));
895 if(mUpdateCallback && (*isNotifyEnabled == 1))
901 else if(strcasecmp(pSetting,
"Stats.MulticastPacketsReceived") == 0)
903 memset(&msgData,0,
sizeof(msgData));
908 if(mUpdateCallback && (*isNotifyEnabled == 1))
914 else if(strcasecmp(pSetting,
"Stats.PacketsSent") == 0)
916 memset(&msgData,0,
sizeof(msgData));
921 if(mUpdateCallback && (*isNotifyEnabled == 1))
927 else if(strcasecmp(pSetting,
"Stats.BroadcastPacketsReceived") == 0)
929 memset(&msgData,0,
sizeof(msgData));
934 if(mUpdateCallback && (*isNotifyEnabled == 1))
940 else if(strcasecmp(pSetting,
"Stats.UnknownProtoPacketsReceived") == 0)
942 memset(&msgData,0,
sizeof(msgData));
947 if(mUpdateCallback && (*isNotifyEnabled == 1))
955 else if((positionAfterInstanceNumber != NULL) && (matchComponent(positionAfterInstanceNumber,
"IPv4Address", &positionAfterSubInstanceNumber, subInstanceNumber)))
960 if(strcasecmp(pSetting,
"Enable") == 0)
962 memset(&msgData,0,
sizeof(msgData));
967 if(mUpdateCallback && (*isNotifyEnabled == 1))
972 else if(strcasecmp(pSetting,
"Status") == 0)
974 memset(&msgData,0,
sizeof(msgData));
979 if(mUpdateCallback && (*isNotifyEnabled == 1))
985 else if(strcasecmp(pSetting,
"Alias") == 0)
987 memset(&msgData,0,
sizeof(msgData));
992 if(mUpdateCallback && (*isNotifyEnabled == 1))
998 else if(strcasecmp(pSetting,
"SubnetMask") == 0)
1000 memset(&msgData,0,
sizeof(msgData));
1005 if(mUpdateCallback && (*isNotifyEnabled == 1))
1011 else if(strcasecmp(pSetting,
"AddressingType") == 0)
1013 memset(&msgData,0,
sizeof(msgData));
1018 if(mUpdateCallback && (*isNotifyEnabled == 1))
1024 else if(strcasecmp(pSetting,
"IPAddress") == 0)
1026 memset(&msgData,0,
sizeof(msgData));
1031 if(mUpdateCallback && (*isNotifyEnabled == 1))
1042 memset(&msgData,0,
sizeof(msgData));
1046 char tmp[TR69HOSTIFMGR_MAX_PARAM_LEN] =
"";
1047 sprintf(objectPath,
"Device.IP.Interface.%d.%s",index,
"IPv4AddressNumberOfEntries");
1048 while(curNumOfIPv4Interface[index] > tmpNoDev)
1050 sprintf(tmp,
"%s.%d.",objectPath,tmpNoDev);
1054 while(curNumOfIPv4Interface[index] < tmpNoDev)
1056 sprintf(tmp,
"%s.",objectPath);
1060 curNumOfIPv4Interface[index] = get_int(msgData.
paramValue);
1065 else if(matchComponent((
const char*)paramName,
"Device.IP.ActivePort",&pSetting,instanceNumber))
1070 if (strcasecmp(pSetting,
"LocalIPAddress") == 0)
1072 memset(&msgData,0,
sizeof(msgData));
1077 if(mUpdateCallback && (*isNotifyEnabled == 1))
1083 else if (strcasecmp(pSetting,
"LocalPort") == 0)
1085 memset(&msgData,0,
sizeof(msgData));
1090 if(mUpdateCallback && (*isNotifyEnabled == 1))
1096 else if (strcasecmp(pSetting,
"RemoteIPAddress") == 0)
1098 memset(&msgData,0,
sizeof(msgData));
1103 if(mUpdateCallback && (*isNotifyEnabled == 1))
1109 else if (strcasecmp(pSetting,
"RemotePort") == 0)
1111 memset(&msgData,0,
sizeof(msgData));
1116 if(mUpdateCallback && (*isNotifyEnabled == 1))
1122 else if (strcasecmp(pSetting,
"Status") == 0)
1124 memset(&msgData,0,
sizeof(msgData));
1129 if(mUpdateCallback && (*isNotifyEnabled == 1))
1139 else if(matchComponent((
const char*)paramName,
"Device.IP",&pSetting,instanceNumber))
1141 hostIf_IP *pIPIface = hostIf_IP::getInstance(instanceNumber);
1144 if (strcasecmp(pSetting,
"IPv4Capable") == 0)
1146 memset(&msgData,0,
sizeof(msgData));
1151 if(mUpdateCallback && (*isNotifyEnabled == 1))
1157 else if (strcasecmp(pSetting,
"IPv4Enable") == 0)
1159 memset(&msgData,0,
sizeof(msgData));
1164 if(mUpdateCallback && (*isNotifyEnabled == 1))
1170 else if (strcasecmp(pSetting,
"IPv4Status") == 0)
1172 memset(&msgData,0,
sizeof(msgData));
1177 if(mUpdateCallback && (*isNotifyEnabled == 1))
1183 else if (strcasecmp(pSetting,
"ULAPrefix") == 0)
1185 memset(&msgData,0,
sizeof(msgData));
1190 if(mUpdateCallback && (*isNotifyEnabled == 1))