27 #include "safec_lib.h"
30 updateCallback SNMPClientReqHandler::mUpdateCallback = NULL;
32 msgHandler* SNMPClientReqHandler::getInstance()
69 RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,
"[%s()] SNMP manager DeInitializing\n", __FUNCTION__);
85 int ret = NOT_HANDLED;
88 hostIf_snmpAdapter::getLock();
90 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s:%d] Found string as %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
92 if(strncasecmp(stMsgData->
paramName,
"Device.X_RDKCENTRAL-COM_DocsIf",strlen(
"Device.X_RDKCENTRAL-COM_DocsIf"))==0)
98 if(strcasecmp(stMsgData->
paramName,
"Device.X_RDKCENTRAL-COM_DocsIf.docsIfCmStatusTxPower")==0)
104 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] hostIf_snmpAdapter::getInstance is NULL for %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
110 stMsgData->
faultCode = fcAttemptToSetaNonWritableParameter;
111 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s] Failed, since Attempt To Set a NonWritable Parameter \"%s\"\n", __FUNCTION__, stMsgData->
paramName);
113 hostIf_snmpAdapter::releaseLock();
130 int ret = NOT_HANDLED;
131 const char *pSetting;
132 int instanceNumber = 0;
133 hostIf_snmpAdapter::getLock();
135 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s:%d] Found string as %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
136 if(strncasecmp(stMsgData->
paramName,
"Device.X_RDKCENTRAL-COM_DocsIf",strlen(
"Device.X_RDKCENTRAL-COM_DocsIf"))==0 || strncasecmp(stMsgData->
paramName,
"Device.DeviceInfo.X_RDK_SNMP",strlen(
"Device.DeviceInfo.X_RDK_SNMP"))==0)
146 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] hostIf_snmpAdapter::getInstance is NULL for %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
151 stMsgData->
faultCode = fcInvalidParameterName;
153 hostIf_snmpAdapter::releaseLock();
157 int SNMPClientReqHandler::handleGetAttributesMsg(
HOSTIF_MsgData_t *stMsgData)
159 int ret = NOT_HANDLED;
160 int instanceNumber = 0;
162 hostIf_snmpAdapter::getLock();
167 GHashTable* notifyhash = pIface->getNotifyHash();
168 if(notifyhash != NULL)
170 int* notifyvalue = (
int*) g_hash_table_lookup(notifyhash,stMsgData->
paramName);
172 stMsgData->
paramtype = hostIf_IntegerType;
178 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] Not able to get notifyhash %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
184 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] hostIf_snmpAdapter::getInstance is NULL for %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
187 hostIf_snmpAdapter::releaseLock();
191 int SNMPClientReqHandler::handleSetAttributesMsg(
HOSTIF_MsgData_t *stMsgData)
193 int ret = NOT_HANDLED;
194 int instanceNumber = 0;
195 const char *pSetting;
196 hostIf_snmpAdapter::getLock();
202 hostIf_snmpAdapter::releaseLock();
205 GHashTable* notifyhash = pIface->getNotifyHash();
206 if(notifyhash != NULL)
209 notifyValuePtr = (
int*) malloc(1 *
sizeof(
int));
215 notifyKey = (
char*) malloc(
sizeof(
char)*strlen(stMsgData->
paramName)+1);
216 if(NULL != notifyValuePtr)
225 g_hash_table_insert(notifyhash,notifyKey,notifyValuePtr);
231 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] Not able to allocate Notify pointer %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
237 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s:%d] Not able to get notifyhash %s\n", __FUNCTION__, __FILE__, __LINE__, stMsgData->
paramName);
239 hostIf_snmpAdapter::releaseLock();
243 void SNMPClientReqHandler::registerUpdateCallback(updateCallback cb)
245 mUpdateCallback = cb;