2 In order to port xbmc to an unsupported platform, the threading model
3 needs to replace the following classes:
5 -------------------------------------------------------------------------
7 -------------------------------------------------------------------------
9 CCriticalSection - must implement the "CountingLockable" concept:
14 void restore(unsigned int);
16 The "CountingLockable" concept implies a RECURSIVE Lockable.
18 There is a "CountingLockable" template which can be used to facilitate this
19 implementation from something that implements the "Lockable" concept:
25 class CCriticalSection : public CountingLockable<PlatformSpecificLocakable> {};
28 -------------------------------------------------------------------------
30 -------------------------------------------------------------------------
32 ThreadLocal - must be a template<class T> that implements the "ThreadLocal" concept:
36 currently there is no need for a facility to define a cleanup function and if
37 destructors are automatically called by the underlying implementation this
38 behavior must be blocked (such is the case with boost).
40 -------------------------------------------------------------------------
42 -------------------------------------------------------------------------
44 ConditionVariable - must be implemented to handle a ConditionVariable concept:
46 tempalte <class L> WaitResponse wait(L& lock);
47 tempalte <class L> WaitResponse wait(L& lock, int milliseconds);
51 where L is a typename template variable that must satisfy Lockable concept