Return Type | Function name | Arguments |
---|---|---|
hzEcode | hdsApp::InitResources | (void) |
Declared in file: hzDissemino.h
Defined in file : hdsCore.cpp
Function Logic:
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 ; }