Beispiel #1
0
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;
}
Beispiel #2
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;
}