Return TypeFunction nameArguments
hzEcodehdsApp::LoadPassives(void)

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

Function Logic:

0:START 1:lp 2:lp.Valid(); 3:hzList::Iter::Element p i 4:*i==(char)47 5:items 6:FindfilesStd rc 7:rc==E_NOTFOUND 8:hzLogger::Log 9:rc!=E_OK 10:Err2Txt hzLogger::Log 11:n 12:S open ifstream::fail 13:is.fail() 14:hzLogger::Log 15:items close ifstream::clear hzString::Length memcmp 16:memcmp(*S,*m_Docroot,m_Docroot.Length()) 17:hzLogger::Log 18:pFile pFile Str2Mimetype pFile pFile 19:pFile->m_Mimetype==HMTYPE_TXT_HTML 20:Gzip 21:hzMapS::Insert hzChain::Size hzChain::Size hzLogger::Log 22:hzChain::Clear 23:Return rc

Function body:

hzEcode hdsApp::LoadPassives (void)
{
   _hzfunc("hdsApp::loadPassives") ;
   hzList<hzPair>::Iter    lp ;
   hzVect  <hzString>  dirs ;
   hzArray <hzString>  files ;
   ifstream    is ;
   const char* i ;
   hdsFile*    pFile ;
   hzChain     Z ;
   hzPair      p ;
   hzString    S ;
   hzString    path ;
   hzString    fpath ;
   uint32_t    n ;
   hzEcode     rc ;
   for (lp = m_Passives ; lp.Valid() ; lp++)
   {
       p = lp.Element() ;
       i = *p.name ;
       if (*i == CHAR_FWSLASH)
           i++ ;
       rc = FindfilesStd(files, i) ;
       if (rc == E_NOTFOUND)
       {
           m_pLog->Log("WARNING: file garner: Cannot find files matching %s\n", *p.name) ;
           continue ;
       }
       if (rc != E_OK)
       {
           m_pLog->Log("ERROR in file garner: Cannot utilize [%s], error=%s\n", *S, Err2Txt(rc)) ;
           break ;
       }
       for (n = 0; n < files.Count() ; n++)
       {
           S = files[n] ;
           is.open(*S) ;
           if (is.fail())
               { m_pLog->Log("WARNING: file %s cannot be opened\n", *p.name) ; continue ; }
           Z << is ;
           is.close() ;
           is.clear() ;
           if (memcmp(*S, *m_Docroot, m_Docroot.Length()))
               m_pLog->Log("Please check basis for file [%s]\n", *p.name) ;
           else
           {
               pFile = new hdsFile() ;
               pFile->m_filepath = p.name ;
               pFile->m_Mimetype = Str2Mimetype(p.value) ;
               pFile->m_rawValue = Z ;
               if (pFile->m_Mimetype == HMTYPE_TXT_HTML)
                   Gzip(pFile->m_zipValue, Z) ;
               m_ResourcesPath.Insert(pFile->m_filepath, pFile) ;
               m_pLog->Log("Added passive file %s (%d,%d)\n", *pFile->m_filepath, pFile->m_rawValue.Size(), pFile->m_zipValue.Size()) ;
           }
           Z.Clear() ;
       }
   }
   return rc ;
}