(file) Return to snmpDeliverTrap_emanate.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Handler / snmpIndicationHandler

Diff for /pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_emanate.cpp between version 1.3 and 1.4

version 1.3, 2002/03/14 00:07:48 version 1.4, 2002/03/21 23:00:08
Line 34 
Line 34 
 #include <ctype.h> #include <ctype.h>
 #include <sys/stat.h> #include <sys/stat.h>
 #include "snmpDeliverTrap_emanate.h" #include "snmpDeliverTrap_emanate.h"
   #include "prnt_lib.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 104 
Line 105 
 { {
     initialize();     initialize();
  
     void*   newValue;      //void*   newValue;
       OctetString*   newValue;
     char*   entV2Trap;     char*   entV2Trap;
     int     vb_link_flag = 0;     int     vb_link_flag = 0;
  
     VarBind *vb = NULL;     VarBind *vb = NULL;
     VarBind *vb2 = NULL;     VarBind *vb2 = NULL;
       VarBind *vb3 = NULL;
  
     OID     *object = NULL;     OID     *object = NULL;
  
Line 153 
Line 156 
     agent_addr->octet_ptr[2] = (unsigned char)s3;     agent_addr->octet_ptr[2] = (unsigned char)s3;
     agent_addr->octet_ptr[3] = (unsigned char)s4;     agent_addr->octet_ptr[3] = (unsigned char)s4;
  
     // ATTN : Write code to get enterprise, genTrap and specTrap      // ATTN-NU-20020312 : Write code to get enterprise, genTrap and
     // from trapOid.      // specTrap from trapOid.
   
     // << 03-12-2002 : NU (HP)  
  
     String enterprise;     String enterprise;
  
Line 168 
Line 169 
     // getting trapOid     // getting trapOid
     OID *sendtrapOid = MakeOIDFromDot(trapOid.allocateCString());     OID *sendtrapOid = MakeOIDFromDot(trapOid.allocateCString());
  
     for(Uint8 i = 0; i < vbOids.size(); i++)      for(Uint32 i = 0; i < vbOids.size(); i++)
     {     {
         if ((object = MakeOIDFromDot(vbOids[i].allocateCString())) == NULL)         if ((object = MakeOIDFromDot(vbOids[i].allocateCString())) == NULL)
         {         {
Line 178 
Line 179 
  
         if (strcmp(vbTypes[i].allocateCString(),"OctetString") == 0)         if (strcmp(vbTypes[i].allocateCString(),"OctetString") == 0)
         {         {
             newValue = MakeOctetStringFromText(vbValues[i].allocateCString());              newValue = CloneOctetString(MakeOctetStringFromText
             if ((vb = MakeVarBindWithValue(object,                             (vbValues[i].allocateCString()));
               if (newValue == NULL)
               {
                   cout << "Invalid Value provided : " << vbValues[i] << endl;
                   return;
               }
               if ((vb2 = MakeVarBindWithValue(object,
                 (OID *) NULL,                 (OID *) NULL,
                 OCTET_PRIM_TYPE,                 OCTET_PRIM_TYPE,
                 newValue)) == NULL)                 newValue)) == NULL)
Line 190 
Line 197 
         }         }
         else         else
         {         {
             newValue = MakeOctetString(              newValue = CloneOctetString(MakeOctetString(
                 (unsigned char *) vbValues[i].allocateCString(),                 (unsigned char *) vbValues[i].allocateCString(),
                 strlen(vbValues[i].allocateCString()));                  strlen(vbValues[i].allocateCString())));
  
             if ((vb = MakeVarBindWithValue(object,              if (newValue == NULL)
               {
                   cout << "Invalid Value provided : " << vbValues[i] << endl;
                   return;
               }
               if ((vb2 = MakeVarBindWithValue(object,
                 (OID *) NULL,                 (OID *) NULL,
                 INTEGER_TYPE,                 INTEGER_TYPE,
                 newValue)) == NULL)                 newValue)) == NULL)
Line 203 
Line 215 
                 return;                 return;
             }             }
         }         }
           if (i == 0)
         if (!vb_link_flag)  
         {         {
             vb_link_flag = 1;              vb = vb2;
             vb2 = vb;              vb3 = vb2;
             FreeOID(object);  
         }         }
         else         else
         {         {
             vb2->next_var = vb;              vb3->next_var = vb2;
             vb2 = vb;              vb3 = vb3->next_var;
             FreeOID(object);  
         }         }
   
           FreeOID(object);
     }     }
  
     vb_link_flag = 0;      vb3->next_var = NULL;
     vb2->next_var = NULL;  
     vb->next_var = NULL;  
  
     // Now sending the trap     // Now sending the trap
     if (trapType == String("SNMPGeneric"))     if (trapType == String("SNMPGeneric"))
Line 231 
Line 240 
     }     }
     else if (trapType == String("SNMPv1"))     else if (trapType == String("SNMPv1"))
     {     {
           cout << "Sending SNMPv1 Trap : " << trapOid << endl;
         SendNotificationToDestSMIv1Params(         SendNotificationToDestSMIv1Params(
             1,                                  // notifyType             1,                                  // notifyType
             6,                                  // genTrap             6,                                  // genTrap
Line 252 
Line 262 
     }     }
     else if (trapType == String("SNMPv2"))     else if (trapType == String("SNMPv2"))
     {     {
           cout << "Sending SNMPv2 Trap : " << trapOid << endl;
         SendNotificationToDestSMIv2Params(         SendNotificationToDestSMIv2Params(
             1,                                  // notifyType             1,                                  // notifyType
             sendtrapOid,                        // snmpTrapOID             sendtrapOid,                        // snmpTrapOID
             agent_addr,                         // agent_addr             agent_addr,                         // agent_addr
             vb2,                                // vb              //vb2,                              // vb
               vb,                         // vb
             NULL,                               // contextName             NULL,                               // contextName
             1,                                  // retryCount             1,                                  // retryCount
             100,                                // timeout             100,                                // timeout


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2