Shutsdown Dissemino Application. Deallocates all allocated resources before desconstruction Arguments: None Returns: None

Return TypeFunction nameArguments
voidhdsApp::Shutdown(void)

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

Function Logic:

0:START 1:unknown 2:pForm pForm 3:items 4:unknown 5:pFormhdl pFormhdl 6:items 7:unknown 8:pFormref pFormref 9:items 10:unknown 11:pBlock pBlock 12:items items items 13:unknown 14:pAG 15:unknown 16:unknown 17:pArt pArt 18:items items items 19:unknown 20:pPage pPage 21:items items items items 22:unknown 23:pPage pPage 24:items items items 25:unknown 26:pInfo pInfo 27:items items items items items items items items items items items 28: No text

Function body:

void hdsApp::Shutdown (void)
{
   //  Shutsdown Dissemino Application. Deallocates all allocated resources before desconstruction
   //  
   //  Arguments: None
   //  Returns: None
   _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 ;         //  All sessions
   uint32_t    n ;     //  Iterator
   uint32_t    x ;     //  Iterator
   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_Fixed.Count() ; n++)
   //  { pFix = m_Fixed.GetObj(n) ; delete pFix ; }
   //  printf("Cleared %d Fixed resources\n", m_Fixed.Count()) ;
   //  fflush(stdout) ;
   //  m_Fixed.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) ;
}