ExtPmSynchronizeSink.h
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:2k
源码类别:

界面编程

开发平台:

Visual C++

  1. // This is part of the Professional User Interface Suite library.
  2. // Copyright (C) 2001-2009 FOSS Software, Inc.
  3. // All rights reserved.
  4. //
  5. // http://www.prof-uis.com
  6. // mailto:support@prof-uis.com
  7. //
  8. // This source code can be used, modified and redistributed
  9. // under the terms of the license agreement that is included
  10. // in the Professional User Interface Suite package.
  11. //
  12. // Warranties and Disclaimers:
  13. // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND
  14. // INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
  15. // FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
  16. // IN NO EVENT WILL FOSS SOFTWARE INC. BE LIABLE FOR ANY DIRECT,
  17. // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES,
  18. // INCLUDING DAMAGES FOR LOSS OF PROFITS, LOSS OR INACCURACY OF DATA,
  19. // INCURRED BY ANY PERSON FROM SUCH PERSON'S USAGE OF THIS SOFTWARE
  20. // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  21. #if (!defined __EXT_PMSYNCHRONIZESINK_H)
  22. #define __EXT_PMSYNCHRONIZESINK_H
  23. #if (!defined __EXT_MFC_DEF_H)
  24. #include <ExtMfcDef.h>
  25. #endif // __EXT_MFC_DEF_H
  26. #if (!defined __AFXTEMPL_H__)
  27. #include <AfxTempl.h>
  28. #endif
  29. struct __PROF_UIS_API CExtPmSynchronizeSink
  30. {
  31. protected:
  32. bool m_bPmSynchronizeSinkIsSynchronizing:1;
  33. DWORD m_dwPmSynchronizeSinkThreadID;
  34. public:
  35. CExtPmSynchronizeSink();
  36. virtual ~CExtPmSynchronizeSink();
  37. virtual DWORD PmSynchronizeSink_GetThreadID();
  38. virtual bool PmSynchronizeSink_IsSynchronizing();
  39. virtual bool PmSynchronizeSink_IsEqual(
  40. CExtPmSynchronizeSink * pOther
  41. );
  42. virtual bool PmSynchronizeSink_PerformSynchronizationWith(
  43. CExtPmSynchronizeSink * pPmSynchronizeSink,
  44. bool bRegister = true,
  45. bool bSynchronizeItNow = true
  46. ) = 0;
  47. virtual LPSTREAM PmSynchronizeSink_GetData(
  48. HGLOBAL hGlobal = NULL
  49. ) = 0;
  50. virtual void PmSynchronizeSink_SynchronizeFrom(
  51. LPSTREAM pStream
  52. ) = 0;
  53. protected:
  54. CTypedPtrArray < CPtrArray, CExtPmSynchronizeSink * > m_arrPmSynchronizeSink;
  55. INT GetIndexOfPmSynchronizeSink(
  56. CExtPmSynchronizeSink * pPmSynchronizeSink
  57. );
  58. public:
  59. virtual void PmSynchronizeSink_SynchronizeOthers(
  60. HGLOBAL hGlobal = NULL
  61. );
  62. }; // struct CExtPmSynchronizeSink
  63. #endif // __EXT_PMSYNCHRONIZESINK_H