Add an attribute to the visible entity

Return TypeFunction nameArguments
hzEcodehdsVE::AddAttr(hzString&,hzString&,)

Declared in file: hzDissemino.h
Defined in file : hdsCore.cpp

Function Logic:

0:START 1:unknown 2:Return E_CORRUPT 3:unknown 4:unknown 5:unknown 6:items 7:unknown 8:unknown 9:m_flagVE 10:rc 11:i 12:pa pa items rc 13:Return rc

Function body:

hzEcode hdsVE::AddAttr (hzString& name)hzString& value, 
{
   //  Category: Dissemino System Initialization
   //  
   //  Add an attribute to the visible entity
   //  
   _hzfunc("hdsVE::AddAttr") ;
   const char*     i ;             //  Attribute value iterator
   hzString        pcntEnt ;       //  Percent entity
                                   //  hzFixPair  pa ;   // Attribute
   hzPair          pa ;            //  Attribute
   hzEcode         rc = E_OK ;     //  Return code
   if (!m_pApp)
       return E_CORRUPT ;
   //  Check attribute for impact on flags: Does it make the tag active?
   for (i = *value ; *i ; i++)
   {
       if (*i != CHAR_PERCENT)
           continue ;
       if (i[1]== CHAR_PERCENT)
           { i++ ; continue ; }
       if (IsAlpha(i[1])&& i[2]== CHAR_COLON)
       {
           if (m_pApp->IsPcEnt(pcntEnt, i))
               m_flagVE |= VE_AT_ACTIVE ;
           else
               { rc = E_FORMAT ; break ; }
           i += 2;
       }
   }
   //  Add the attribute
   pa.name = name ;
   pa.value = value ;
   m_nAttrs++ ;
   rc = m_pApp->m_VE_attrs.Insert(m_VID, pa) ;
   return rc ;
}