Return Type | Function name | Arguments |
---|---|---|
hzEcode | hdbADP::InitSubscribers | (const hzString&,) |
Declared in file: hzDatabase.h
Defined in file : hdbClass.cpp
Function Logic:
Function body:
hzEcode hdbADP::InitSubscribers (const hzString& dataDir) { _hzfunc("hdbADP::InitSubscribers") ; hzString S ; hzEcode rc = E_OK ; if (!this) hzexit(E_CORRUPT, "No ADP instance") ; if (m_pClassSubscriber) rc = hzerr(E_DUPLICATE, "Subscriber class already declared") ; S = "subscriber" ; if (m_mapRepositories.Exists(S)) rc = hzerr(E_DUPLICATE, "This function has already been called") ; if (!dataDir) rc = hzerr(E_ARGUMENT, "No application data directory") ; if (rc != E_OK) return rc ; m_pClassSubscriber = new hdbClass(*this, HDB_CLASS_DESIG_SYS) ; rc = m_pClassSubscriber->InitStart(S) ; if (rc == E_OK) { S = "username" ; rc = m_pClassSubscriber->InitMember(S, datatype_STRING, HDB_MBR_POP_SINGLE_COMPULSORY) ; } if (rc == E_OK) { S = "userpass" ; rc = m_pClassSubscriber->InitMember(S, datatype_STRING, HDB_MBR_POP_SINGLE_COMPULSORY) ; } if (rc == E_OK) { S = "userEmail" ; rc = m_pClassSubscriber->InitMember(S, datatype_EMADDR, HDB_MBR_POP_SINGLE_OPTIONAL) ; } if (rc == E_OK) { S = "userUID" ; rc = m_pClassSubscriber->InitMember(S, datatype_UINT32, HDB_MBR_POP_SINGLE_OPTIONAL) ; } if (rc == E_OK) { S = "userType" ; rc = m_pClassSubscriber->InitMember(S, datatype_STRING, HDB_MBR_POP_SINGLE_OPTIONAL) ; } if (rc == E_OK) { rc = m_pClassSubscriber->InitDone() ; m_pMbr_Subscriber_username = m_pClassSubscriber->GetMember(0); m_pMbr_Subscriber_userpass = m_pClassSubscriber->GetMember(1); m_pMbr_Subscriber_email = m_pClassSubscriber->GetMember(2); m_pMbr_Subscriber_UID = m_pClassSubscriber->GetMember(3); m_pMbr_Subscriber_type = m_pClassSubscriber->GetMember(4); } if (rc == E_OK) rc = RegisterDataClass(m_pClassSubscriber) ; if (rc != E_OK) hzexit(rc, "Could not init subsriber class") ; m_pReposSubscriber = new hdbObjRepos(*this) ; if (!m_pReposSubscriber) hzexit(E_MEMORY, "No subsciber cache allocated") ; rc = m_pReposSubscriber->InitStart(m_pClassSubscriber, m_pClassSubscriber->strName(), dataDir, HDB_REPOS_CACHE) ; if (rc != E_OK) hzexit(rc, "Could not init subsriber repos") ; rc = m_pReposSubscriber->InitMbrIndex(m_pMbr_Subscriber_username, true) ; if (rc != E_OK) hzexit(rc, "Could not init subsriber repos index") ; rc = m_pReposSubscriber->InitDone() ; if (rc != E_OK) hzexit(rc, "Could not complete subsriber repos initialization") ; rc = m_mapRepositories.Insert(m_pReposSubscriber->strName(), m_pReposSubscriber) ; /* ** if (rc == E_OK) ** { ** m_pMbr_Subscriber_username = m_pClassSubscriber->GetMember(0) ; ** m_pMbr_Subscriber_userpass = m_pClassSubscriber->GetMember(1) ; ** m_pMbr_Subscriber_email = m_pClassSubscriber->GetMember(2) ; ** m_pMbr_Subscriber_UID = m_pClassSubscriber->GetMember(3) ; ** m_pMbr_Subscriber_type = m_pClassSubscriber->GetMember(4) ; ** } ** */ return rc ; }