Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
1.5 KiB

  1. /*++
  2. Copyright (C) 1996-1999 Microsoft Corporation
  3. Module Name:
  4. _PUMPIDLE.H
  5. History:
  6. --*/
  7. #ifndef ESPUTIL__PUMPIDLE_H
  8. #define ESPUTIL__PUMPIDLE_H
  9. #pragma warning(disable: 4275) // non dll-interface class 'foo' used
  10. // as base for dll-interface class 'bar'
  11. class LTAPIENTRY CPumpAndIdle : public CObject
  12. {
  13. public:
  14. CPumpAndIdle(BOOL fDelete);
  15. virtual BOOL PumpAndIdle(long lCount) = 0;
  16. void Delete(void);
  17. private:
  18. CPumpAndIdle();
  19. CPumpAndIdle(const CPumpAndIdle &);
  20. void operator=(const CPumpAndIdle &);
  21. BOOL m_fDelete;
  22. };
  23. #pragma warning(default: 4275)
  24. class LTAPIENTRY CTimerPump : public CPumpAndIdle
  25. {
  26. public:
  27. CTimerPump(BOOL fDelete, UINT uiSeconds);
  28. BOOL PumpAndIdle(long lCount);
  29. virtual void OnTimeout(void) = 0;
  30. private:
  31. UINT m_uiTimeout;
  32. clock_t m_tLastRun;
  33. };
  34. void LTAPIENTRY NOTHROW AddPumpClass(CPumpAndIdle *);
  35. BOOL LTAPIENTRY NOTHROW RemovePumpClass(CPumpAndIdle *);
  36. BOOL LTAPIENTRY PumpAndIdle(long lCount);
  37. void LTAPIENTRY PumpAndIdle(void);
  38. class CProgressDialog;
  39. #pragma warning(disable: 4275) // non dll-interface class 'foo' used
  40. // as base for dll-interface class 'bar'
  41. class LTAPIENTRY CInputBlocker : public CObject
  42. {
  43. public:
  44. CInputBlocker(CWnd* pParent = NULL);
  45. ~CInputBlocker();
  46. private:
  47. CInputBlocker(const CInputBlocker &);
  48. void operator=(const CInputBlocker &);
  49. CProgressDialog *pDlg;
  50. };
  51. #pragma warning(default: 4275)
  52. #endif