OSDN Git Service

change BonTsDemux binaries.
[rec10/rec10-git.git] / b25-remote / TsUtilClass.h
1 // TsUtilClass.h: TSユーティリティークラスのインターフェイス
2 //
3 //////////////////////////////////////////////////////////////////////
4
5 #pragma once
6 #include "W2L.h"
7 #include <pthread.h>
8
9 #define DWORD unsigned long
10
11 /////////////////////////////////////////////////////////////////////////////
12 // ダイナミックリファレンス管理ベースクラス
13 /////////////////////////////////////////////////////////////////////////////
14
15 class CDynamicReferenceable
16 {
17 public:
18         CDynamicReferenceable();
19         virtual ~CDynamicReferenceable();
20
21         void AddRef(void);
22         void ReleaseRef(void);
23
24 private:
25         DWORD m_dwRefCount;
26 };
27
28
29 /////////////////////////////////////////////////////////////////////////////
30 // クリティカルセクションラッパークラス
31 /////////////////////////////////////////////////////////////////////////////
32
33 class CCriticalLock
34 {
35 public:
36         CCriticalLock();
37         virtual ~CCriticalLock();
38         
39         void Lock(void);
40         void Unlock(void);
41         
42 private:
43         pthread_mutex_t m_CriticalSection;
44 };
45
46
47 /////////////////////////////////////////////////////////////////////////////
48 // ブロックスコープロッククラス
49 /////////////////////////////////////////////////////////////////////////////
50
51 class CBlockLock
52 {
53 public:
54         CBlockLock(CCriticalLock *pCriticalLock);
55         virtual ~CBlockLock();
56                 
57 private:
58         CCriticalLock *m_pCriticalLock;
59 };
60
61