Return TypeFunction nameArguments
hzEcodehdsApp::InitResources(void)

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

Function Logic:

0:START 1:!m_Datadir 2:Return hzerr(E_NOINIT,No data directory) 3:hzPMapS::Count cfgs cfgs hzPMapS::DeltaSet hzPMapS::DeltaOpen hzPMapS::Count n 4:n 5:hzPMapS::GetKey valURL hzPMapS::GetObj fdate 6:!m_pClass_Resource 7:rc==E_OK 8:m_pClass_Resource 9:rc==E_OK 10:hdbClass::InitStart rc 11:rc==E_OK 12:hdbClass::InitMember rc 13:rc==E_OK 14:hdbClass::InitMember rc 15:rc==E_OK 16:hdbClass::InitMember rc 17:rc==E_OK 18:hdbClass::InitMember rc 19:rc==E_OK 20:hdbClass::InitMember rc 21:rc==E_OK 22:hdbClass::InitMember rc 23:rc==E_OK 24:hdbClass::InitDone rc 25:rc==E_OK 26:hdbADP::RegisterDataClass rc 27:rc==E_OK 28:hzLogger::Log 29:hzLogger::Log 30:Return rc 31:hdbClass::GetMember m_pMbr_Resource_DATE hdbClass::GetMember m_pMbr_Resource_PATH hdbClass::GetMember m_pMbr_Resource_MD5 hdbClass::GetMember m_pMbr_Resource_XML hdbClass::GetMember m_pMbr_Resource_HTM hdbClass::GetMember m_pMbr_Resource_Zip 32:!m_pRepos_Resource 33:rc==E_OK 34:m_pRepos_Resource 35:rc==E_OK 36:m_pStore_Resource 37:hzLogger::Log hdbBinRepos::Init rc 38:rc!=E_OK 39:hzLogger::Log 40:Return rc 41:hdbBinRepos::Open rc 42:rc!=E_OK 43:hzLogger::Log 44:Return rc 45:hdbBinRepos::Integ rc 46:rc!=E_OK 47:hzLogger::Log 48:Return rc 49:rc==E_OK 50:hdbObjRepos::InitStart rc 51:rc==E_OK 52:hdbObjRepos::InitMbrIndex rc 53:rc==E_OK 54:hdbObjRepos::InitDone rc 55:rc==E_OK 56:hdbObjRepos::Open rc 57:rc==E_OK 58:hzLogger::Log 59:hzLogger::Log 60:Return rc 61:hdbObject::Init rc 62:rc!=E_OK 63:hzLogger::Log n 64:nCount(); 65:hdbObjRepos::Fetch rc 66:rc!=E_OK 67:Err2Txt hzLogger::Log 68:hdbObject::GetMbrValue hdbObject::GetMbrValue hzMD5::Txt hzLogger::Log 69:Return rc

Function body:

hzEcode hdsApp::InitResources (void)
{
   _hzfunc("hdsApp::InitResources") ;
   hzMD5       valMD5 ;
   hzString    valURL ;
   hzString    cfgs ;
   uint32_t    fdate ;
   uint32_t    n ;
   hzEcode     rc = E_OK ;
   if (!m_Datadir)
       return hzerr(E_NOINIT, "No data directory") ;
   threadLog("m_Configs Population %u\n", m_Configs.Count()) ;
   cfgs = m_Datadir ;
   cfgs += "/config.cache" ;
   m_Configs.DeltaSet(cfgs) ;
   m_Configs.DeltaOpen() ;
   threadLog("Opened file %s\n", *cfgs) ;
   threadLog("m_Configs Population %u\n", m_Configs.Count()) ;
   for (n = 0; n < m_Configs.Count() ; n++)
   {
       valURL = m_Configs.GetKey(n) ;
       fdate = m_Configs.GetObj(n) ;
       threadLog("Have config of %010u [%s]\n", fdate, *valURL) ;
   }
   if (!m_pClass_Resource)
   {
       if (rc == E_OK) m_pClass_Resource = new hdbClass(m_ADP, HDB_CLASS_DESIG_CFG) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitStart(s_cls_Resource) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitMember(s_mbr_Resource_DATE, "xdate",   HDB_MBR_POP_SINGLE_COMPULSORY) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitMember(s_mbr_Resource_PATH, "string",  HDB_MBR_POP_SINGLE_COMPULSORY) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitMember(s_mbr_Resource_MD5,  "hashMD5", HDB_MBR_POP_SINGLE_COMPULSORY) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitMember(s_mbr_Resource_XML,  "binary",  HDB_MBR_POP_SINGLE_COMPULSORY) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitMember(s_mbr_Resource_HTM,  "binary",  HDB_MBR_POP_SINGLE_OPTIONAL) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitMember(s_mbr_Resource_Zip,  "binary",  HDB_MBR_POP_SINGLE_OPTIONAL) ;
       if (rc == E_OK) rc = m_pClass_Resource->InitDone() ;
       if (rc == E_OK) rc = m_ADP.RegisterDataClass(m_pClass_Resource) ;
       if (rc == E_OK)
           m_pLog->Log("Registered resource class\n") ;
       else
       {
           m_pLog->Log("Could not register resource class\n") ;
           return rc ;
       }
       m_pMbr_Resource_DATE = m_pClass_Resource->GetMember(s_mbr_Resource_DATE) ;
       m_pMbr_Resource_PATH = m_pClass_Resource->GetMember(s_mbr_Resource_PATH) ;
       m_pMbr_Resource_MD5  = m_pClass_Resource->GetMember(s_mbr_Resource_MD5) ;
       m_pMbr_Resource_XML  = m_pClass_Resource->GetMember(s_mbr_Resource_XML) ;
       m_pMbr_Resource_HTM  = m_pClass_Resource->GetMember(s_mbr_Resource_HTM) ;
       m_pMbr_Resource_Zip  = m_pClass_Resource->GetMember(s_mbr_Resource_Zip) ;
   }
   if (!m_pRepos_Resource)
   {
       if (rc == E_OK) m_pRepos_Resource = new hdbObjRepos(m_ADP) ;
       if (rc == E_OK) m_pStore_Resource = new hdbBinRepos(m_ADP) ;
       m_pLog->Log("Resource Repos %p, Binary %p\n", m_pRepos_Resource, m_pStore_Resource) ;
       rc = m_pStore_Resource->Init(s_bin_Resource, m_Datadir) ;
       if (rc != E_OK)
           { m_pLog->Log("Could not init resource binary datum repository\n") ; return rc ; }
       rc = m_pStore_Resource->Open() ;
       if (rc != E_OK)
           { m_pLog->Log("Could not open resource binary datum repository\n") ; return rc ; }
       rc = m_pStore_Resource->Integ(*m_pLog) ;
       if (rc != E_OK)
           { m_pLog->Log("Could not integrity check resource binary datum repository\n") ; return rc ; }
       if (rc == E_OK) rc = m_pRepos_Resource->InitStart(m_pClass_Resource, s_rep_Resource, m_Datadir, HDB_REPOS_CACHE) ;
       if (rc == E_OK) rc = m_pRepos_Resource->InitMbrIndex(s_mbr_Resource_PATH, false) ;
       if (rc == E_OK) rc = m_pRepos_Resource->InitDone() ;
       if (rc == E_OK) rc = m_pRepos_Resource->Open() ;
       if (rc == E_OK)
           m_pLog->Log("Initialized and opened resource repository\n") ;
       else
       {
           m_pLog->Log("Could not init/open resource repository\n") ;
           return rc ;
       }
   }
   rc = m_objResource.Init(m_pClass_Resource) ;
   if (rc != E_OK)
       m_pLog->Log("Could not init resource object\n") ;
   for (n = 0; n < m_pRepos_Resource->Count() ; n++)
   {
       rc = m_pRepos_Resource->Fetch(m_objResource, n+1);
       if (rc != E_OK)
       {
           m_pLog->Log("Could not fetch resource item %d (err=%s)\n", n+1,Err2Txt(rc)) ;
           continue ;
       }
       m_objResource.GetMbrValue(valURL, m_pMbr_Resource_PATH) ;
       m_objResource.GetMbrValue(valMD5, m_pMbr_Resource_MD5) ;
       m_pLog->Log("Inserted Resource %s %s\n", valMD5.Txt(), *valURL) ;
   }
   return rc ;
}