42 iBool(EFalse), |
41 iBool(EFalse), |
43 iBoolPckg(iBool), |
42 iBoolPckg(iBool), |
44 iInt(0), |
43 iInt(0), |
45 iIntPckg(iInt) |
44 iIntPckg(iInt) |
46 { |
45 { |
47 FUNC_LOG; |
|
48 } |
46 } |
49 |
47 |
50 // ----------------------------------------------------------------------------- |
48 // ----------------------------------------------------------------------------- |
51 // CRadioRequest::ConstructL |
49 // CRadioRequest::ConstructL |
52 // Symbian 2nd phase constructor can leave. |
50 // Symbian 2nd phase constructor can leave. |
53 // ----------------------------------------------------------------------------- |
51 // ----------------------------------------------------------------------------- |
54 // |
52 // |
55 void CRadioRequest::ConstructL() |
53 void CRadioRequest::ConstructL() |
56 { |
54 { |
57 FUNC_LOG; |
55 RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::ConstructL()")); |
58 CActiveScheduler::Add(this); |
56 CActiveScheduler::Add(this); |
59 } |
57 } |
60 |
58 |
61 // ----------------------------------------------------------------------------- |
59 // ----------------------------------------------------------------------------- |
62 // CRadioRequest::NewLC |
60 // CRadioRequest::NewLC |
66 CRadioRequest* CRadioRequest::NewLC( |
64 CRadioRequest* CRadioRequest::NewLC( |
67 RRadioSession& aSession, |
65 RRadioSession& aSession, |
68 MRadioObserver& aObserver, |
66 MRadioObserver& aObserver, |
69 TRadioServerRequest aRequest ) |
67 TRadioServerRequest aRequest ) |
70 { |
68 { |
71 FUNC_LOG; |
|
72 CRadioRequest* self = new( ELeave ) CRadioRequest(aSession, aObserver, aRequest); |
69 CRadioRequest* self = new( ELeave ) CRadioRequest(aSession, aObserver, aRequest); |
73 CleanupStack::PushL( self ); |
70 CleanupStack::PushL( self ); |
74 self->ConstructL(); |
71 self->ConstructL(); |
75 return self; |
72 return self; |
76 } |
73 } |
77 |
74 |
78 // Destructor |
75 // Destructor |
79 CRadioRequest::~CRadioRequest() |
76 CRadioRequest::~CRadioRequest() |
80 { |
77 { |
81 FUNC_LOG; |
|
82 INFO_1("My pointer: 0x%x", this ); |
|
83 if ( IsActive() ) |
78 if ( IsActive() ) |
84 { |
79 { |
85 Cancel(); |
80 Cancel(); |
86 } |
81 } |
87 } |
82 } |
108 // CRadioRequest::DoCancel |
102 // CRadioRequest::DoCancel |
109 // ----------------------------------------------------------------------------- |
103 // ----------------------------------------------------------------------------- |
110 // |
104 // |
111 void CRadioRequest::DoCancel() |
105 void CRadioRequest::DoCancel() |
112 { |
106 { |
113 FUNC_LOG; |
|
114 iSession.CancelRequest(iRequest); |
107 iSession.CancelRequest(iRequest); |
115 } |
108 } |
116 |
109 |
117 // ----------------------------------------------------------------------------- |
110 // ----------------------------------------------------------------------------- |
118 // CRadioRequest::RunL |
111 // CRadioRequest::RunL |
119 // ----------------------------------------------------------------------------- |
112 // ----------------------------------------------------------------------------- |
120 // |
113 // |
121 void CRadioRequest::RunL() |
114 void CRadioRequest::RunL() |
122 { |
115 { |
123 FUNC_LOG; |
|
124 TInt err = iStatus.Int(); |
116 TInt err = iStatus.Int(); |
125 if ( err == KErrCancel ) |
117 if ( err == KErrCancel ) |
126 { |
118 { |
127 // Ignore the cancelled request |
119 // Ignore the cancelled request |
128 INFO_1("cancelled iRequest [%d]", iRequest); |
120 RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL():cancelled [%d]"), iRequest); |
129 return; |
121 return; |
130 } |
122 } |
131 |
123 |
132 switch( iRequest ) |
124 switch( iRequest ) |
133 { |
125 { |
134 // Place the most frequent ones on top |
126 // Place the most frequent ones on top |
135 case ERadioServStationSeek: |
127 case ERadioServStationSeek: |
136 { |
128 { |
137 iInt = iIntPckg(); |
129 iInt = iIntPckg(); |
138 INFO_1("ERadioServStationSeek [%d]", iInt); |
130 RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeek [%d]"), iInt); |
139 iObserver.StationSeekComplete(err, iInt); |
131 iObserver.StationSeekComplete(err, iInt); |
140 } |
132 } |
141 break; |
133 break; |
142 case ERadioServSetFrequency: |
134 case ERadioServSetFrequency: |
143 { |
135 { |
144 INFO("ERadioServSetFrequency"); |
136 RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServSetFrequency")); |
145 iObserver.SetFrequencyComplete(err); |
137 iObserver.SetFrequencyComplete(err); |
146 } |
138 } |
147 break; |
139 break; |
148 case ERadioServRequestTunerControl: |
140 case ERadioServRequestTunerControl: |
149 { |
141 { |
150 INFO("ERadioServRequestTunerControl"); |
142 RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServRequestTunerControl")); |
151 iObserver.RequestTunerControlComplete(err); |
143 iObserver.RequestTunerControlComplete(err); |
152 } |
144 } |
153 break; |
145 break; |
154 case ERadioServSetFrequencyRange: |
146 case ERadioServSetFrequencyRange: |
155 { |
147 { |
156 INFO("ERadioServSetFrequencyRange"); |
148 RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServSetFrequencyRange")); |
157 iObserver.SetFrequencyRangeComplete(err); |
149 iObserver.SetFrequencyRangeComplete(err); |
158 } |
150 } |
159 break; |
151 break; |
160 case ERadioServPlay: |
152 case ERadioServPlay: |
161 { |
153 { |
162 INFO("INFOERadioServPlay"); |
154 RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServPlay")); |
163 if ( err != KErrNone ) |
155 if ( err != KErrNone ) |
164 { |
156 { |
165 iObserver.RadioEventStateChange(EFalse, err); |
157 iObserver.RadioEventStateChange(EFalse, err); |
166 } |
158 } |
167 } |
159 } |
168 break; |
160 break; |
169 case ERadioServStationSeekByPTY: |
161 case ERadioServStationSeekByPTY: |
170 { |
162 { |
171 iInt = iIntPckg(); |
163 iInt = iIntPckg(); |
172 INFO_1("ERadioServStationSeekByPTY [%d]", iInt); |
164 RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeekByPTY [%d]"), iInt); |
173 iObserver.StationSeekByPTYComplete(err, iInt); |
165 iObserver.StationSeekByPTYComplete(err, iInt); |
174 } |
166 } |
175 break; |
167 break; |
176 case ERadioServStationSeekByTA: |
168 case ERadioServStationSeekByTA: |
177 { |
169 { |
178 iInt = iIntPckg(); |
170 iInt = iIntPckg(); |
179 INFO_1("ERadioServStationSeekByTA [%d]", iInt); |
171 RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeekByTA [%d]"), iInt); |
180 iObserver.StationSeekByTAComplete(err, iInt); |
172 iObserver.StationSeekByTAComplete(err, iInt); |
181 } |
173 } |
182 break; |
174 break; |
183 case ERadioServStationSeekByTP: |
175 case ERadioServStationSeekByTP: |
184 { |
176 { |
185 iInt = iIntPckg(); |
177 iInt = iIntPckg(); |
186 INFO_1("ERadioServStationSeekByTP [%d]", iInt); |
178 RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeekByTP [%d]"), iInt); |
187 iObserver.StationSeekByTPComplete(err, iInt); |
179 iObserver.StationSeekByTPComplete(err, iInt); |
188 } |
180 } |
189 break; |
181 break; |
190 case ERadioServGetFreqByPTY: |
182 case ERadioServGetFreqByPTY: |
191 { |
183 { |