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.

78 lines
1.4 KiB

  1. // LockWrap.h: interface for the CLockWrap class.
  2. // LockWrap.h: interface for the CIOPCriticalSection class.
  3. // LockWrap.h: interface for the CIOPMutex class.
  4. // LockWrap.h: interface for the CSCardLock class.
  5. //
  6. //////////////////////////////////////////////////////////////////////
  7. #if !defined(AFX_LOCKWRAP_H__46F3EF74_97A9_11D3_A5D4_00104BD32DA8__INCLUDED_)
  8. #define AFX_LOCKWRAP_H__46F3EF74_97A9_11D3_A5D4_00104BD32DA8__INCLUDED_
  9. #if _MSC_VER > 1000
  10. #pragma once
  11. #endif // _MSC_VER > 1000
  12. #include "IOPLock.h"
  13. namespace iop {
  14. class IOPDLL_API CIOPCriticalSection
  15. {
  16. public:
  17. explicit CIOPCriticalSection::CIOPCriticalSection(CIOPLock *pIOPLock);
  18. ~CIOPCriticalSection();
  19. private:
  20. CIOPLock *m_pIOPLock;
  21. };
  22. class IOPDLL_API CIOPMutex
  23. {
  24. public:
  25. explicit CIOPMutex::CIOPMutex(CIOPLock *pIOPLock);
  26. ~CIOPMutex();
  27. private:
  28. CIOPLock *m_pIOPLock;
  29. };
  30. class IOPDLL_API CSCardLock
  31. {
  32. public:
  33. explicit CSCardLock::CSCardLock(CIOPLock *pIOPLock);
  34. ~CSCardLock();
  35. private:
  36. CIOPLock *m_pIOPLock;
  37. };
  38. class IOPDLL_API CLockWrap
  39. {
  40. public:
  41. explicit CLockWrap(CIOPLock *pIOPLock);
  42. ~CLockWrap();
  43. private:
  44. CIOPCriticalSection m_IOPCritSect;
  45. CIOPMutex m_IOPMutex;
  46. CSCardLock m_SCardLock;
  47. CIOPLock *m_pIOPLock;
  48. };
  49. } // namespace iop
  50. #endif // !defined(AFX_LOCKWRAP_H__46F3EF74_97A9_11D3_A5D4_00104BD32DA8__INCLUDED_)