static AMInt32 IAccountModel_OnSelAcnt(void* pvAcntor, int iCnt, char **pszValue, char**pszName) { IAccountModel *pAcntModel = (IAccountModel *)pvAcntor; AIMAccount *pAcnt = 0; AMAssert(0 !=pAcntModel); DPRINT("IAccountModel_OnSelAcnt %s ! %s ! %s ! %s ! %s ! %s ! %s\n" , pszValue[0], pszValue[1], pszValue[2], pszValue[3], pszValue[4], pszValue[5], pszValue[6]); pAcnt = IAccount_Create(); pAcnt->_iRid = AMAtoi(pszValue[0]); if(0 != IAccount_SetID(pAcnt, pszValue[1], AMStrlen(pszValue[1]))) return -1; pAcnt->uiFlag = AMAtoi(pszValue[4]); if(pAcnt->uiFlag&01 && 0 != AMStrcmp("0", pszValue[2])) { IAccount_SetToken(pAcnt, pszValue[2], AMStrlen(pszValue[2])); } if(0 != AMStrcmp("0", pszValue[3])) { IAccount_SetPhoneNum(pAcnt, pszValue[3]); } pAcnt->ePresence = AMAtoi(pszValue[5]); pAcnt->iGroupStamp = AMAtoi(pszValue[6]); pAcnt->iContactStamp = AMAtoi(pszValue[7]); pAcnt->iBlackStamp = AMAtoi(pszValue[8]); pAcnt->iRevBlackStamp = AMAtoi(pszValue[9]); if(0 != AMStrcmp("0", pszValue[10])) { IAccount_SetSigXML(pAcnt, pszValue[10], AMStrlen(pszValue[10])); } push_front_List(&pAcntModel->listAcnt, pAcnt, sizeof(AIMAccount), DYNAMIC); return 0; }
AIMAccount * IAccount_dup(const AIMAccount *pAcnt) { AIMAccount *pRet = 0; AMAssert(0 != pAcnt); pRet = IAccount_Create(); IAccount_SetNameType(pRet, pAcnt->szName, AMStrlen(pAcnt->szName), pAcnt->eType); if(pAcnt->szPwd) IAccount_SetPwd(pRet, pAcnt->szPwd, AMStrlen(pAcnt->szPwd)); if(pAcnt->szToken) IAccount_SetToken(pRet, pAcnt->szToken, AMStrlen(pAcnt->szToken)); if(pAcnt->szPhoneNum) IAccount_SetPhoneNum(pRet, pAcnt->szPhoneNum); pRet->iGroupStamp = pAcnt->iGroupStamp; pRet->iContactStamp = pAcnt->iContactStamp; pRet->iBlackStamp = pAcnt->iBlackStamp; pRet->iRevBlackStamp = pAcnt->iRevBlackStamp; pRet->uiFlag = pAcnt->uiFlag; pRet->ePresence = pAcnt->ePresence; return pRet; }