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