2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
11 #include "XHandlePublic.h"
12 #include "threads/Condition.h"
13 #include "threads/CriticalSection.h"
19 #include "PlatformDefs.h"
24 typedef enum { HND_NULL
= 0, HND_FILE
, HND_EVENT
, HND_MUTEX
, HND_FIND_FILE
} HandleType
;
27 explicit CXHandle(HandleType nType
);
28 CXHandle(const CXHandle
&src
);
32 inline HandleType
GetType() { return m_type
; }
33 void ChangeType(HandleType newType
);
35 XbmcThreads::ConditionVariable
*m_hCond
;
36 std::list
<CXHandle
*> m_hParents
;
38 // simulate mutex and critical section
39 CCriticalSection
*m_hMutex
;
40 int RecursionCount
; // for mutex - for compatibility with TARGET_WINDOWS critical section
44 std::vector
<std::string
> m_FindFileResults
;
45 int m_nFindFileIterator
;
46 std::string m_FindFileDir
;
51 CCriticalSection
*m_internalLock
;
53 static void DumpObjectTracker();
57 static int m_objectTracker
[10];