Return Type | Function name | Arguments |
---|---|---|
hzEcode | hdbObject::SetObject | (const hdbMember*,const hdbObject&,) |
Declared in file: hzDatabase.h
Defined in file : hdbObject.cpp
Function Logic:
Function body:
hzEcode hdbObject::SetObject (const hdbMember* pMbr, const hdbObject& sub) { _hzfunc("hdbObject::SetObject") ; if (!this) hzexit(E_CORRUPT, "No instance") ; if (!m_pClass) return hzerr(E_NOINIT, "Single object container not init to a data class") ; if (!sub.m_pClass) return hzerr(E_NOINIT, "Operand object container not init to a data class") ; if (!pMbr) return hzerr(E_ARGUMENT, "No member supplied") ; if (pMbr->Class() != m_pClass) return hzerr(E_CORRUPT, "Member %s does not belong to class %s", pMbr->txtName(), m_pClass->txtName()) ; if (pMbr->Basetype() != BASETYPE_CLASS) return hzerr(E_TYPE, "Member %s is atomic", pMbr->txtName()) ; if (pMbr->Datatype() != sub.m_pClass) return hzerr(E_TYPE, "Member %s is not of type class %s", pMbr->txtName(), sub.m_pClass->txtName()) ; if (!m_pRoot) m_pRoot = _obj_data::GetInstance(m_pClass) ; return m_pRoot->SetObject(pMbr, sub.m_pRoot) ; }