Return TypeFunction nameArguments
hzEcodehdsApp::IndexPages(void)

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

Function Logic:

0:START 1:nD 2:nD 3:hzMapS::GetObj pRes items 4:!pPage 5:!pPage->m_Bodytext.Size() 6:hzChain::Clear items hzChain::AddByte items hzChain::AddByte items TokenizeChain rc 7:rc!=E_OK 8:hzLogger::Out 9:rc==E_OK&&nCount 10:T hzToken::Value 11:!T.Value() 12:items hzToken::Value hdbIndexText::Insert rc 13:hzVect::Count hzLogger::Out 14:Return rc

Function body:

hzEcode hdsApp::IndexPages (void)
{
   _hzfunc("hdsApp::IndexPages") ;
   hzVect<hzToken> toks ;
   hzChain         pageVal ;
   hzToken         T ;
   hdsResource*    pRes ;
   hdsPage*        pPage ;
   uint32_t        nD ;
   uint32_t        nCount ;
   uint32_t        nDone ;
   hzEcode         rc = E_OK ;
   /*
   **  ** Allocate working buffers and load HTML page
   **      */
   for (nD = 0; nD < m_ResourcesName.Count() ; nD++)
   {
       pRes = m_ResourcesName.GetObj(nD) ;
       pPage = dynamic_cast<hdsPage*>(pRes) ;
       if (!pPage)
           continue ;
       if (!pPage->m_Bodytext.Size())
           continue ;
       pageVal.Clear() ;
       pageVal << pPage->m_Title ;
       pageVal.AddByte(CHAR_NL) ;
       pageVal << pPage->m_Desc ;
       pageVal.AddByte(CHAR_NL) ;
       pageVal << pPage->m_Bodytext ;
       rc = TokenizeChain(toks, pageVal, TOK_MO_WHITE) ;
       if (rc != E_OK)
       {
           m_pLog->Out("Abandoning indexation of page %s (%s)\n", *pPage->m_Url, *pPage->m_Title) ;
           break ;
       }
       for (nDone = nCount = 0; rc == E_OK && nCount < toks.Count() ; nCount++)
       {
           T = toks[nCount] ;
           if (!T.Value())
               continue ;
           nDone++ ;
           rc = m_PageIndex.Insert(T.Value(), nD) ;
       }
       m_pLog->Out("Indexing page %s (%s), %d of %d tokens\n", *pPage->m_Url, *pPage->m_Title, nDone, toks.Count()) ;
   }
   return rc ;
}