Return Type | Function name | Arguments |
---|---|---|
hzEcode | hdbIndexUkey::Init | (const hdbObjRepos*,const hzString&,hdbBasetype,) |
Declared in file: hzDatabase.h
Defined in file : hdbIndex.cpp
Function Logic:
Function body:
hzEcode hdbIndexUkey::Init (const hdbObjRepos* pRepos, const hzString& mbrName, hdbBasetype dtype) { _hzfunc("hdbIndexUkey::Init") ; hzEcode rc = E_OK ; if (m_bInit) return hzerr(E_SEQUENCE, "%s already initialized", *m_Name) ; if (!pRepos) hzexit(E_ARGUMENT, "No repository supplied") ; m_Name = pRepos->txtName() ; m_Name += "::" ; m_Name += mbrName ; switch (dtype) { case BASETYPE_STRING: m_keys.pStr = new hzMapS <hzString,uint32_t> ; break ; case BASETYPE_DOMAIN: m_keys.pDom = new hzMapS <hzDomain,uint32_t> ; break ; case BASETYPE_EMADDR: m_keys.pEma = new hzMapS <hzEmaddr,uint32_t> ; break ; case BASETYPE_URL: m_keys.pUrl = new hzMapS <hzUrl,uint32_t> ; break ; case BASETYPE_IPADDR: m_keys.pIpa = new hzMapS <hzIpaddr,uint32_t> ; break ; case BASETYPE_TIME: m_keys.pTime = new hzMapS <hzTime,uint32_t> ; break ; case BASETYPE_SDATE: m_keys.pSD = new hzMapS <hzSDate,uint32_t> ; break ; case BASETYPE_XDATE: m_keys.pXD = new hzMapS <hzXDate,uint32_t> ; break ; case BASETYPE_INT64: m_keys.pSI64 = new hzMapS <int64_t,uint32_t> ; break ; case BASETYPE_UINT64: m_keys.pUI64 = new hzMapS <uint64_t,uint32_t> ; break ; case BASETYPE_INT32: m_keys.pSI32 = new hzMapS <int32_t,uint32_t> ; break ; case BASETYPE_UINT32: m_keys.pUI32 = new hzMapS <uint32_t,uint32_t> ; break ; default: rc = E_TYPE ; break ; } if (rc == E_OK) { m_eBasetype = dtype ; m_bInit = true ; } return rc ; }