branch | RCL_3 |
changeset 65 | 630d2f34d719 |
parent 0 | 3553901f7fa8 |
child 66 | 07a122eea281 |
61:17af172ffa5f | 65:630d2f34d719 |
---|---|
1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
10 // |
10 // |
11 // Contributors: |
11 // Contributors: |
12 // |
12 // |
13 // Description: |
13 // Description: |
14 // |
14 // |
15 |
|
16 #include "OstTraceDefinitions.h" |
|
17 #ifdef OST_TRACE_COMPILER_IN_USE |
|
18 #include "creceivethreadmanagerTraces.h" |
|
19 #endif |
|
15 |
20 |
16 #include "creceivethreadmanager.h" |
21 #include "creceivethreadmanager.h" |
17 #include <ctsy/ltsy/ltsylogger.h> |
22 #include <ctsy/ltsy/ltsylogger.h> |
18 |
23 |
19 CReceiveThreadManager* CReceiveThreadManager::NewL(MLtsyReceiveThreadEventStateHandler& aEventHandler, MLtsyReceiveThreadObserver& aLifeObserver) |
24 CReceiveThreadManager* CReceiveThreadManager::NewL(MLtsyReceiveThreadEventStateHandler& aEventHandler, MLtsyReceiveThreadObserver& aLifeObserver) |
69 } |
74 } |
70 |
75 |
71 |
76 |
72 TInt CReceiveThreadManager::StartReceiveThreadFn(TAny* aArg) |
77 TInt CReceiveThreadManager::StartReceiveThreadFn(TAny* aArg) |
73 { |
78 { |
74 LOG(_L8("StartReceiveThreadFn, thread id = %d"), RThread().Id().Id()); |
79 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CRECEIVETHREADMANAGER_SPAWNRECEIVETHREADL_1, "StartReceiveThreadFn, thread id = %d", RThread().Id().Id()); |
75 |
80 |
76 // Create a cleanup stack object |
81 // Create a cleanup stack object |
77 CTrapCleanup* cleanup=CTrapCleanup::New(); |
82 CTrapCleanup* cleanup=CTrapCleanup::New(); |
78 if (cleanup==NULL) |
83 if (cleanup==NULL) |
79 return KErrNoMemory; |
84 return KErrNoMemory; |
81 //start the wait loop |
86 //start the wait loop |
82 CReceiveThreadWaitLoopSignaller* signaller = static_cast<CReceiveThreadWaitLoopSignaller*>(aArg); |
87 CReceiveThreadWaitLoopSignaller* signaller = static_cast<CReceiveThreadWaitLoopSignaller*>(aArg); |
83 TInt err = signaller->WaitLoop(); |
88 TInt err = signaller->WaitLoop(); |
84 |
89 |
85 delete cleanup; |
90 delete cleanup; |
86 LOG(_L8("StartReceiveThreadFn, thread id = %d, Terminated with err = %d"), RThread().Id().Id(), err); |
91 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CRECEIVETHREADMANAGER_SPAWNRECEIVETHREADL_2, "StartReceiveThreadFn, thread id = %d, Terminated with err = %d", RThread().Id().Id(), err); |
87 return err; |
92 return err; |
88 } |
93 } |
89 |
94 |
90 void CReceiveThreadManager::StopReceiveThread() |
95 void CReceiveThreadManager::StopReceiveThread() |
91 { |
96 { |
138 { |
143 { |
139 iThread.Close(); |
144 iThread.Close(); |
140 User::LeaveIfError(iThread.Open(aID)); |
145 User::LeaveIfError(iThread.Open(aID)); |
141 iThread.Logon(iStatus); |
146 iThread.Logon(iStatus); |
142 SetActive(); |
147 SetActive(); |
143 LOG(_L8("CReceiveThreadLifeWatcher::LogonL. Watching thread id = %d"), iThread.Id().Id()); |
148 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CRECEIVETHREADLIFEWATCHER_LOGONL_1, "CReceiveThreadLifeWatcher::LogonL. Watching thread id = %d", iThread.Id().Id()); |
144 } |
149 } |
145 |
150 |
146 void CReceiveThreadLifeWatcher::RunL() |
151 void CReceiveThreadLifeWatcher::RunL() |
147 { |
152 { |
148 TSYLOGENTRYEXIT; |
153 TSYLOGENTRYEXIT; |
149 LOG(_L8("CReceiveThreadLifeWatcher::RunL iThread = %d, iStatus=%d, exit reason = %d"), iThread.Id().Id(), iStatus.Int(), iThread.ExitReason() ); |
154 OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CRECEIVETHREADLIFEWATCHER_RUNL_1, "CReceiveThreadLifeWatcher::RunL iThread = %d, iStatus=%d, exit reason = %d", iThread.Id().Id(), iStatus.Int(), iThread.ExitReason() ); |
150 iReceiveThreadLifeObserver.HandleReceiveThreadLifeWatcherComplete(iStatus.Int()); |
155 iReceiveThreadLifeObserver.HandleReceiveThreadLifeWatcherComplete(iStatus.Int()); |
151 } |
156 } |
152 |
157 |
153 void CReceiveThreadLifeWatcher::DoCancel() |
158 void CReceiveThreadLifeWatcher::DoCancel() |
154 { |
159 { |