Return TypeFunction nameArguments
voidhdsApp::Shutdown(void)

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

Function Logic:

0:START 1:n 2:n 3:hzMapS::GetObj pForm pForm 4:hzMapS::Clear n 5:n 6:hzMapS::GetObj pFormhdl pFormhdl 7:hzMapS::Clear n 8:n 9:hzMapS::GetObj pFormref pFormref 10:hzMapS::Clear n 11:n 12:hzMapS::GetObj pBlock pBlock 13:hzMapS::Count printf fflush hzMapS::Clear n 14:n 15:hzMapS::GetObj pAG 16:!pAG 17:xCount(); 18:hdsNavtree::GetItem pArt pArt 19:hdsNavtree::Count printf fflush hdsNavtree::Clear n 20:n 21:hzMapS::GetObj pPage pPage 22:hzMapS::Count printf fflush hzMapS::Clear hzMapS::Clear n 23:n 24:hzMapS::GetObj pPage pPage 25:hzMapS::Count printf fflush hzMapS::Clear n 26:n 27:hzMapS::GetObj pInfo pInfo 28:hzMapS::Count printf fflush hzMapS::Clear hzSet::Count printf fflush hzSet::Clear hzList::Count printf fflush hzList::Clear printf fflush 29: No text

Function body:

void hdsApp::Shutdown (void)
{
   _hzfunc("hdsApp::Shutdown") ;
   hdsArticle*     pArt ;          //  All articles
   hdsFormdef*     pForm ;         //  All known forms
   hdsFormhdl*     pFormhdl ;      //  All known form handlers
   hdsFormref*     pFormref ;      //  All known form handlers
   hdsBlock*       pBlock ;        //  All known forms
   hdsNavtree*     pAG ;           //  All article groups
   hdsResource*    pPage ;         //  All known pages by path
   hdsInfo*        pInfo ;
   uint32_t    n ;
   uint32_t    x ;
   for (n = 0; n < m_FormDefs.Count() ; n++)
       { pForm = m_FormDefs.GetObj(n) ; delete pForm ; }
   m_FormDefs.Clear() ;
   for (n = 0; n < m_FormHdls.Count() ; n++)
       { pFormhdl = m_FormHdls.GetObj(n) ; delete pFormhdl ; }
   m_FormHdls.Clear() ;
   for (n = 0; n < m_FormUrl2Ref.Count() ; n++)
       { pFormref = m_FormUrl2Ref.GetObj(n) ; delete pFormref ; }
   m_FormUrl2Ref.Clear() ;
   for (n = 0; n < m_Includes.Count() ; n++)
       { pBlock = m_Includes.GetObj(n) ; delete pBlock ; }
   printf("Cleared %d Includes\n", m_Includes.Count()) ;
   fflush(stdout) ;
   m_Includes.Clear() ;
   for (n = 0; n < m_ArticleGroups.Count() ; n++)
   {
       pAG = m_ArticleGroups.GetObj(n) ;
       if (!pAG)
           continue ;
       for (x = 0; x < pAG->Count() ; x++)
       {
           pArt = (hdsArticle*) pAG->GetItem(x) ;
           delete pArt ;
       }
       printf("Cleared %d Articles\n", pAG->Count()) ;
       fflush(stdout) ;
       pAG->Clear() ;
   }
   for (n = 0; n < m_ResourcesPath.Count() ; n++)
       { pPage = m_ResourcesPath.GetObj(n) ; delete pPage ; }
   printf("Cleared %d Pages\n", m_ResourcesPath.Count()) ;
   fflush(stdout) ;
   m_ResourcesPath.Clear() ;
   m_ResourcesName.Clear() ;
   for (n = 0; n < m_Responses.Count() ; n++)
       { pPage = m_Responses.GetObj(n) ; delete pPage ; }
   printf("Cleared %d Formhdl response pages\n", m_Responses.Count()) ;
   fflush(stdout) ;
   m_Responses.Clear() ;
   for (n = 0; n < m_SessCookie.Count() ; n++)
       { pInfo = m_SessCookie.GetObj(n) ; delete pInfo ; }
   printf("Cleared %d Sessions\n", m_SessCookie.Count()) ;
   fflush(stdout) ;
   m_SessCookie.Clear() ;
   printf("Cleared %d Styles\n", m_Styles.Count()) ;
   fflush(stdout) ;
   m_Styles.Clear() ;
   printf("Cleared %d Passives\n", m_Passives.Count()) ;
   fflush(stdout) ;
   m_Passives.Clear() ;
   printf("Cleared All\n") ;
   fflush(stdout) ;
}