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.

81 lines
1.7 KiB

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