equal
deleted
inserted
replaced
27 { |
27 { |
28 } |
28 } |
29 |
29 |
30 CStsServerSession::~CStsServerSession() |
30 CStsServerSession::~CStsServerSession() |
31 { |
31 { |
|
32 CleanUpObservers(); |
32 TStsCallBack callBack; |
33 TStsCallBack callBack; |
33 callBack.callBackType = EStsShutdown; |
34 callBack.callBackType = EStsShutdown; |
34 iMsgQueue.SendBlocking(callBack); |
35 iMsgQueue.SendBlocking(callBack); |
35 iServer.DropSession(this); |
36 iServer.DropSession(this); |
36 iMsgQueue.Close(); |
37 iMsgQueue.Close(); |
68 } |
69 } |
69 |
70 |
70 void CStsServerSession::DoRegisterMsgQueueL(const RMessage2& aMessage) |
71 void CStsServerSession::DoRegisterMsgQueueL(const RMessage2& aMessage) |
71 { |
72 { |
72 TInt result = iMsgQueue.Open(aMessage, 0); |
73 TInt result = iMsgQueue.Open(aMessage, 0); |
73 |
74 if (result == KErrNone) |
|
75 { |
|
76 TThreadId id = RThread().Id(); |
|
77 TPckg<TThreadId> idPckg(id); |
|
78 TRAP(result,aMessage.Write(1, idPckg)); |
|
79 } |
74 aMessage.Complete(result); |
80 aMessage.Complete(result); |
75 } |
81 } |
76 |
82 |
77 void CStsServerSession::DoPlayToneL(const RMessage2& aMessage) |
83 void CStsServerSession::DoPlayToneL(const RMessage2& aMessage) |
78 { |
84 { |
106 aMessage.Complete(KErrNone); |
112 aMessage.Complete(KErrNone); |
107 iObserverMap.erase(context); |
113 iObserverMap.erase(context); |
108 iSts.StopAlarm(context); |
114 iSts.StopAlarm(context); |
109 } |
115 } |
110 |
116 |
|
117 void CStsServerSession::CleanUpObservers() |
|
118 { |
|
119 while (!iObserverMap.empty()) |
|
120 { |
|
121 //TODO: Add trace here |
|
122 unsigned int context = iObserverMap.begin()->first; |
|
123 iObserverMap.erase(context); |
|
124 iSts.StopAlarm(context); |
|
125 } |
|
126 } |
|
127 |
111 void CStsServerSession::PlayAlarmComplete(unsigned int aAlarmContext) |
128 void CStsServerSession::PlayAlarmComplete(unsigned int aAlarmContext) |
112 { |
129 { |
113 //TODO: Trigger play complete callback to RSession |
|
114 TStsCallBack callBack = |
130 TStsCallBack callBack = |
115 { |
131 { |
116 EStsPlayAlarmComplete, iObserverMap[aAlarmContext], aAlarmContext |
132 EStsPlayAlarmComplete, iObserverMap[aAlarmContext], aAlarmContext |
117 }; |
133 }; |
118 iMsgQueue.SendBlocking(callBack); |
134 iMsgQueue.SendBlocking(callBack); |