OSDN Git Service

add b25-remote
[rec10/rec10-git.git] / b25-remote / TsUtilClass.h
diff --git a/b25-remote/TsUtilClass.h b/b25-remote/TsUtilClass.h
new file mode 100755 (executable)
index 0000000..ebae86b
--- /dev/null
@@ -0,0 +1,61 @@
+// TsUtilClass.h: TS\83\86\81[\83e\83B\83\8a\83e\83B\81[\83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X\r
+//\r
+//////////////////////////////////////////////////////////////////////\r
+\r
+#pragma once\r
+#include "W2L.h"\r
+#include <pthread.h>
+\r
+#define DWORD unsigned long
+
+/////////////////////////////////////////////////////////////////////////////\r
+// \83_\83C\83i\83~\83b\83N\83\8a\83t\83@\83\8c\83\93\83X\8aÇ\97\9d\83x\81[\83X\83N\83\89\83X\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+class CDynamicReferenceable\r
+{\r
+public:\r
+       CDynamicReferenceable();\r
+       virtual ~CDynamicReferenceable();\r
+\r
+       void AddRef(void);\r
+       void ReleaseRef(void);\r
+\r
+private:\r
+       DWORD m_dwRefCount;\r
+};\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// \83N\83\8a\83e\83B\83J\83\8b\83Z\83N\83V\83\87\83\93\83\89\83b\83p\81[\83N\83\89\83X\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+class CCriticalLock\r
+{\r
+public:\r
+       CCriticalLock();\r
+       virtual ~CCriticalLock();\r
+       \r
+       void Lock(void);\r
+       void Unlock(void);\r
+       \r
+private:\r
+       pthread_mutex_t m_CriticalSection;\r
+};\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// \83u\83\8d\83b\83N\83X\83R\81[\83v\83\8d\83b\83N\83N\83\89\83X\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+class CBlockLock\r
+{\r
+public:\r
+       CBlockLock(CCriticalLock *pCriticalLock);\r
+       virtual ~CBlockLock();\r
+               \r
+private:\r
+       CCriticalLock *m_pCriticalLock;\r
+};\r
+\r
+\r