// TsUtilClass.h: TSユーティリティークラスのインターフェイス // ////////////////////////////////////////////////////////////////////// #pragma once ///////////////////////////////////////////////////////////////////////////// // ダイナミックリファレンス管理ベースクラス ///////////////////////////////////////////////////////////////////////////// class CDynamicReferenceable { public: CDynamicReferenceable(); virtual ~CDynamicReferenceable(); void AddRef(void); void ReleaseRef(void); private: DWORD m_dwRefCount; }; ///////////////////////////////////////////////////////////////////////////// // クリティカルセクションラッパークラス ///////////////////////////////////////////////////////////////////////////// class CCriticalLock { public: CCriticalLock(); virtual ~CCriticalLock(); void Lock(void); void Unlock(void); private: //CRITICAL_SECTION m_CriticalSection; pthread_mutex_t m_mutex; }; ///////////////////////////////////////////////////////////////////////////// // ブロックスコープロッククラス ///////////////////////////////////////////////////////////////////////////// class CBlockLock { public: CBlockLock(CCriticalLock *pCriticalLock); virtual ~CBlockLock(); private: CCriticalLock *m_pCriticalLock; };