downnotify.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. ////////////////////////////////////////////////////////////////////////////////
  2. //  
  3. //  FileName    :   DownNotify.cpp
  4. //  Version     :   1.0
  5. //  Creater     :   Linsuyi
  6. //  Date        :   2002-01-31  11:43:34
  7. //  Comment     :   CDownNotify class source file
  8. //  
  9. ////////////////////////////////////////////////////////////////////////////////
  10. #include "Stdafx.h"
  11. #include "DownNotify.h"
  12. //////////////////////////////////////////////////////////////////////
  13. // Construction/Destruction
  14. //////////////////////////////////////////////////////////////////////
  15. CDownNotify::CDownNotify()
  16. {
  17. }
  18. CDownNotify::CDownNotify(ULONG ulMessage) : CWndNotify(ulMessage)
  19. {
  20. }
  21. CDownNotify::~CDownNotify()
  22. {
  23. }
  24. ULONG CDownNotify::OnStatusFileName(PDOWNLOADSTATUS pDownStatus)
  25. {
  26.     return 0;
  27. }
  28. ULONG CDownNotify::OnStatusFileSize(PDOWNLOADSTATUS pDownStatus)
  29. {
  30.     return 0;
  31. }
  32. ULONG CDownNotify::OnStatusFileDowned(PDOWNLOADSTATUS pDownStatus)
  33. {
  34.     return 0;
  35. }
  36. ULONG CDownNotify::OnDownStatus(PDOWNLOADSTATUS pDownStatus)
  37. {
  38.     ULONG ulResult = 0;
  39.     
  40.     if (NULL == pDownStatus)
  41.         goto Exit0;
  42.     
  43.     switch (pDownStatus->nStatusType)
  44.     {
  45.     case DOWN_STATUS_FILENAME:
  46.         ulResult = OnStatusFileName(pDownStatus);
  47.         break;
  48.     case DOWN_STATUS_FILESIZE:
  49.         ulResult = OnStatusFileSize(pDownStatus);
  50.         break;
  51.     case DOWN_STATUS_FILEDOWNED:
  52.         ulResult = OnStatusFileDowned(pDownStatus);
  53.         break;
  54.         
  55.     default:
  56.         ASSERT(false);
  57.         goto Exit0;
  58.     }
  59.     
  60. Exit0:
  61.     return ulResult;
  62. }
  63. ULONG CDownNotify::OnDownResult(ULONG ulDownResult)
  64. {
  65.     ULONG ulResult = 0;
  66.     
  67.     return ulResult;
  68. }
  69. int CDownNotify::IsNotifyMessage(const MSG *pMsg, ULONG *pulResult)
  70. {
  71.     int nResult = CWndNotify::IsNotifyMessage(pMsg, pulResult);
  72.     ULONG ulResult = 0;
  73.     
  74.     ULONG ulDownResult = 0;
  75.     PDOWNLOADSTATUS pDownStatus = NULL;
  76.     
  77.     ASSERT(pulResult != NULL);
  78.     
  79.     if (!nResult)
  80.         goto Exit0;
  81.     
  82.     switch (pMsg->wParam)
  83.     {
  84.     case MSG_FTPDOWNLOAD_STATUS:
  85.     case MSG_HTTPDOWNLOAD_STATUS:
  86.         pDownStatus = (PDOWNLOADSTATUS)pMsg->lParam;
  87.         ulResult = OnDownStatus(pDownStatus);
  88.         
  89.         nResult = true;
  90.         break;
  91.         
  92.     case MSG_DOWNLOAD_RESULT:
  93.         ulDownResult = (ULONG)pMsg->lParam;
  94.         ulResult = OnDownResult(ulDownResult);
  95.         
  96.         nResult = true;
  97.         break;
  98.         
  99.     default:
  100.         ASSERT(false);
  101.         goto Exit0;
  102.     }
  103.     
  104.     if (pulResult != NULL)
  105.         *pulResult = ulResult;
  106.     
  107. Exit0:
  108.     return nResult;
  109. }