BOOL SM_ChangeNick(const TCHAR* pszID, const char* pszModule, GCEVENT * gce) { SESSION_INFO *pTemp = m_WndList, *pLast = NULL; if (!pszModule) return FALSE; while ( pTemp != NULL ) { if (( !pszID || !lstrcmpi( pTemp->ptszID, pszID )) && !lstrcmpiA( pTemp->pszModule, pszModule )) { USERINFO* ui = UM_FindUser(pTemp->pUsers, gce->ptszUID ); if ( ui ) { replaceStr( &ui->pszNick, gce->ptszText); SM_MoveUser( pTemp->ptszID, pTemp->pszModule, ui->pszUID ); if ( pTemp->hWnd ) SendMessage( pTemp->hWnd, GC_UPDATENICKLIST, 0, 0 ); } if (pszID) return TRUE; } pLast = pTemp; pTemp = pTemp->next; } return TRUE; }
BOOL SM_ChangeNick(char *pszID, char * pszModule, GCEVENT * gce) { SESSION_INFO *pTemp = m_WndList, *pLast = NULL; if(!pszModule) return FALSE; while (pTemp != NULL) { if ((!pszID || !lstrcmpiA(pTemp->pszID,pszID)) && !lstrcmpiA(pTemp->pszModule,pszModule)) { USERINFO * ui = UM_FindUser(pTemp->pUsers, (char *)gce->pszUID); if(ui) { ui->pszNick = (char *)realloc(ui->pszNick, lstrlenA(gce->pszText) + 1); lstrcpynA(ui->pszNick, gce->pszText, lstrlenA(gce->pszText) + 1); SM_MoveUser(pTemp->pszID, pTemp->pszModule, ui->pszUID); if(pTemp->hWnd) SendMessage(pTemp->hWnd, GC_UPDATENICKLIST, (WPARAM)0, (LPARAM)0); } if(pszID) return TRUE; } pLast = pTemp; pTemp = pTemp->next; } return TRUE; }
BOOL SM_GiveStatus(char *pszID, char * pszModule, char * pszUID, char * pszStatus) { SESSION_INFO *pTemp = m_WndList, *pLast = NULL; if(!pszID || !pszModule ) return FALSE; while (pTemp != NULL) { if (!lstrcmpiA(pTemp->pszID,pszID) && !lstrcmpiA(pTemp->pszModule,pszModule)) { USERINFO * ui = UM_GiveStatus(pTemp->pUsers, pszUID, TM_StringToWord(pTemp->pStatuses, pszStatus)); if (ui) { SM_MoveUser(pTemp->pszID, pTemp->pszModule, ui->pszUID); if(pTemp->hWnd) SendMessage(pTemp->hWnd, GC_UPDATENICKLIST, (WPARAM)0, (LPARAM)0); } return TRUE; } pLast = pTemp; pTemp = pTemp->next; } return FALSE; }
BOOL SM_SetContactStatus(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID, WORD wStatus) { SESSION_INFO* pTemp = m_WndList, *pLast = NULL; if ( !pszID || !pszModule ) return FALSE; while ( pTemp != NULL ) { if ( !lstrcmpi( pTemp->ptszID, pszID ) && !lstrcmpiA( pTemp->pszModule, pszModule )) { USERINFO * ui = UM_SetContactStatus(pTemp->pUsers, pszUID, wStatus); if (ui) { SM_MoveUser( pTemp->ptszID, pTemp->pszModule, ui->pszUID ); if ( pTemp->hWnd ) SendMessage(pTemp->hWnd, GC_UPDATENICKLIST, (WPARAM)0, (LPARAM)0); } return TRUE; } pLast = pTemp; pTemp = pTemp->next; } return FALSE; }