FriendList.h
上传用户:hysujiao87
上传日期:2007-12-02
资源大小:156k
文件大小:1k
源码类别:

ICQ/即时通讯

开发平台:

C/C++

  1. #pragma once
  2. #include <vector>
  3. using namespace std;
  4. class CFriendData
  5. {
  6. public:
  7. CString userID;
  8. CString nickname;
  9. sockaddr_in addr;
  10. BOOL online;
  11. public:
  12. CFriendData()
  13. {
  14. ::ZeroMemory(&addr, sizeof(sockaddr_in));
  15. online = FALSE;
  16. }
  17. CFriendData(const CFriendData &data)
  18. {
  19. userID = data.userID;
  20. nickname = data.nickname;
  21. online = data.online;
  22. memcpy(&addr, &data.addr, sizeof(sockaddr_in));
  23. }
  24. void operator = (const CFriendData &data){
  25. userID = data.userID;
  26. nickname = data.nickname;
  27. online = data.online;
  28. memcpy(&addr, &data.addr, sizeof(sockaddr_in));
  29. }
  30. };
  31. typedef vector<CFriendData*> FriendVector;
  32. typedef vector<CFriendData*>::iterator FriendIterator;
  33. class CFriendList
  34. {
  35. protected:
  36. FriendVector _vector;
  37. public:
  38. CFriendList(void);
  39. virtual ~CFriendList(void);
  40. HRESULT addFriend(const CFriendData &friendData);
  41. HRESULT deleteFriend(LPCTSTR friendID);
  42. CFriendData* getFriend(LPCTSTR friendID);
  43. CFriendData* getFriend(int index);
  44. int getCount(){
  45. return _vector.size();
  46. }
  47. void clear();
  48. };