Return TypeFunction nameArguments
hzEcodehdbADP::InitSubscribers(const hzString&,)

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

Function Logic:

0:START 1:!this 2:hzexit 3:m_pClassSubscriber 4:rc 5:S hzMapS::Exists 6:m_mapRepositories.Exists(S) 7:rc 8:!dataDir 9:rc 10:rc!=E_OK 11:Return rc 12:m_pClassSubscriber hdbClass::InitStart rc 13:rc==E_OK 14:S hdbClass::InitMember rc 15:rc==E_OK 16:S hdbClass::InitMember rc 17:rc==E_OK 18:S hdbClass::InitMember rc 19:rc==E_OK 20:S hdbClass::InitMember rc 21:rc==E_OK 22:S hdbClass::InitMember rc 23:rc==E_OK 24:hdbClass::InitDone rc hdbClass::GetMember m_pMbr_Subscriber_username hdbClass::GetMember m_pMbr_Subscriber_userpass hdbClass::GetMember m_pMbr_Subscriber_email hdbClass::GetMember m_pMbr_Subscriber_UID hdbClass::GetMember m_pMbr_Subscriber_type 25:rc==E_OK 26:hdbADP::RegisterDataClass rc 27:rc!=E_OK 28:hzexit 29:m_pReposSubscriber 30:!m_pReposSubscriber 31:hzexit 32:hdbDatatype::strName hdbObjRepos::InitStart rc 33:rc!=E_OK 34:hzexit 35:hdbObjRepos::InitMbrIndex rc 36:rc!=E_OK 37:hzexit 38:hdbObjRepos::InitDone rc 39:rc!=E_OK 40:hzexit 41:hdbObjRepos::strName hzMapS::Insert rc 42:Return rc

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