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 ; }