| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hdbObject::Init | (const hdbClass*,) |
Declared in file: hzDatabase.h
Defined in file : hdbObject.cpp
Function Logic:
Function body:
hzEcode hdbObject::Init (const hdbClass* pClass)
{
_hzfunc("hdbObject::Init") ;
const hdbMember* pMbr ;
uint32_t nMbr ;
hzEcode rc = E_OK ;
if (!this) hzexit(E_CORRUPT, "No instance") ;
if (!pClass) return hzerr(E_ARGUMENT, "No data class supplied") ;
if (!pClass->IsInit()) return hzerr(E_NOINIT, "Data class is not initialized") ;
if (m_pClass) return hzerr(E_DUPLICATE, "Object already initialized") ;
Clear() ;
m_pClass = pClass ;
m_pRoot = _obj_data::GetInstance(m_pClass) ;
for (nMbr = 0; rc == E_OK && nMbr < pClass->MbrCount() ; nMbr++)
{
pMbr = pClass->GetMember(nMbr) ;
if (!pMbr)
return hzerr(E_CORRUPT, "No member in position %d", nMbr) ;
if (!pMbr->txtName())
return hzerr(E_CORRUPT, "Member in position %d has no name", nMbr) ;
}
return E_OK ;
}