OnlineUser.cpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #include "StdAfx.h"
  2. #include "OnlineUser.h"
  3. COnlineUser::COnlineUser(void)
  4. {
  5. }
  6. COnlineUser::~COnlineUser(void)
  7. {
  8. }
  9. void COnlineUser::InsertOnlineUser(IN DWORD dwConnId, IN LPCTSTR lpStudioId, IN LPCTSTR lpAccount)
  10. {
  11. if ( IsAccountExist(lpStudioId, lpAccount) != -1 )
  12. return;
  13. OnlineUser tagOnlineUser;
  14. tagOnlineUser.m_dwConnID = dwConnId;
  15. _stprintf_s(tagOnlineUser.m_szStudioId, _T("%s"), lpStudioId);
  16. _stprintf_s(tagOnlineUser.m_szAccount, _T("%s"), lpAccount);
  17. m_OnlineUser.push_back(tagOnlineUser);
  18. }
  19. DWORD COnlineUser::IsAccountExist(IN LPCTSTR lpStudioId, IN LPCTSTR lpAccount )
  20. {
  21. BOOL bExist = FALSE;
  22. vector<OnlineUser>::iterator it = m_OnlineUser.begin();
  23. for ( ; it != m_OnlineUser.end(); it++ )
  24. {
  25. if ( _tcscmp( it->m_szStudioId, lpStudioId ) == 0 && _tcscmp(it->m_szAccount, lpAccount ) == 0 )
  26. {
  27. bExist = TRUE;
  28. break;
  29. }
  30. }
  31. return bExist ? it->m_dwConnID : -1;
  32. }
  33. BOOL COnlineUser::IsAccountExist(IN LPCTSTR lpStudioId, IN LPCTSTR lpAccount, OUT DWORD& dwConnId)
  34. {
  35. BOOL bExist = FALSE;
  36. vector<OnlineUser>::iterator it = m_OnlineUser.begin();
  37. for ( ; it != m_OnlineUser.end(); it++ )
  38. {
  39. if ( _tcscmp( it->m_szStudioId, lpStudioId ) == 0 && _tcscmp(it->m_szAccount, lpAccount ) == 0 )
  40. {
  41. dwConnId = it->m_dwConnID;
  42. bExist = TRUE;
  43. break;
  44. }
  45. }
  46. return bExist;
  47. }
  48. BOOL COnlineUser::IsConnIDExist(IN DWORD dwConnId)
  49. {
  50. BOOL bExist = FALSE;
  51. vector<OnlineUser>::iterator it = m_OnlineUser.begin();
  52. for ( ; it != m_OnlineUser.end(); it++ )
  53. {
  54. if ( dwConnId == it->m_dwConnID )
  55. {
  56. bExist = TRUE;
  57. break;
  58. }
  59. }
  60. return bExist;
  61. }
  62. void COnlineUser::EraseOnlineUser(IN DWORD dwConnId)
  63. {
  64. vector<OnlineUser>::iterator it = m_OnlineUser.begin();
  65. for ( ; it != m_OnlineUser.end(); )
  66. {
  67. if ( dwConnId == it->m_dwConnID )
  68. {
  69. it = m_OnlineUser.erase(it);
  70. break;
  71. }
  72. else
  73. {
  74. it++;
  75. }
  76. }
  77. }