16 */ |
16 */ |
17 |
17 |
18 #ifndef __ISITHREADCONTAINER_H__ |
18 #ifndef __ISITHREADCONTAINER_H__ |
19 #define __ISITHREADCONTAINER_H__ |
19 #define __ISITHREADCONTAINER_H__ |
20 |
20 |
21 #include "misichannelrouterif.h" // For MISIChannelRouterIf |
21 #include "misiobjectrouterif.h" // For MISIObjectRouterIf |
22 |
22 |
23 const TUint8 KAmountOfKernelThreads( 5 ); |
23 const TUint8 KAmountOfKernelThreads( 1 ); |
24 const TUint8 KAmountOfUserThreads( 5 ); |
24 const TUint8 KAmountOfUserThreads( 1 ); |
25 |
25 |
26 NONSHARABLE_CLASS( DISIThreadContainer ) : public DBase |
26 NONSHARABLE_CLASS( DISIThreadContainer ) : public DBase |
27 { |
27 { |
28 |
28 |
29 public: |
29 public: |
30 |
30 |
31 DISIThreadContainer(); |
31 DISIThreadContainer(); |
32 ~DISIThreadContainer(); |
32 ~DISIThreadContainer(); |
33 |
33 |
34 TDfcQue* AllocateThread( const MISIChannelRouterIf::TISIDfcQThreadType aType ); |
34 TDfcQue* AllocateThread( const MISIObjectRouterIf::TISIDfcQThreadType aType ); |
35 void DeallocateThread( TDfcQue* ); |
35 void DeallocateThread( TDfcQue* ); |
36 |
36 |
37 TDfcQue* ReserveKernelThread(); |
37 TDfcQue* ReserveKernelThread(); |
38 TDfcQue* ReserveUserThread(); |
38 TDfcQue* ReserveUserThread(); |
39 |
39 |
40 private: |
40 private: |
41 |
41 // synch |
42 // Owned |
42 // Owned |
43 TDfcQue* iKClientDfcQueList[ KAmountOfKernelThreads ]; |
43 TDfcQue* iKClientDfcQueList[ KAmountOfKernelThreads ]; |
44 TDfcQue* iUClientDfcQueList[ KAmountOfUserThreads ]; |
44 TDfcQue* iUClientDfcQueList[ KAmountOfUserThreads ]; |
45 TUint8 iKThreadOccupation[ KAmountOfKernelThreads ]; |
45 TUint8 iKThreadOccupation[ KAmountOfKernelThreads ]; |
46 TUint8 iUThreadOccupation[ KAmountOfUserThreads ]; |
46 TUint8 iUThreadOccupation[ KAmountOfUserThreads ]; |