Return TypeFunction nameArguments
hzEcodehdbObject::SetObject(const hdbMember*,const hdbObject&,)

Declared in file: hzDatabase.h
Defined in file : hdbObject.cpp

Function Logic:

0:START 1:!this 2:hzexit 3:!m_pClass 4:Return hzerr(E_NOINIT,Single object container not init to a data class) 5:!sub.m_pClass 6:Return hzerr(E_NOINIT,Operand object container not init to a data class) 7:!pMbr 8:Return hzerr(E_ARGUMENT,No member supplied) 9:pMbr->Class()!=m_pClass 10:Return hzerr(E_CORRUPT,Member %s does not belong to class %s,pMbr->txtName(),m_pClass->txtName()) 11:pMbr->Basetype()!=BASETYPE_CLASS 12:Return hzerr(E_TYPE,Member %s is atomic,pMbr->txtName()) 13:pMbr->Datatype()!=sub.m_pClass 14:Return hzerr(E_TYPE,Member %s is not of type class %s,pMbr->txtName(),sub.m_pClass->txtName()) 15:!m_pRoot 16:_obj_data::GetInstance m_pRoot 17:Return m_pRoot->SetObject(pMbr,sub.m_pRoot)

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